TPTP Problem File: ITP177^2.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP177^2 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer StandardRules problem prob_340__5390244_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : StandardRules/prob_340__5390244_1 [Des21]

% Status   : Theorem
% Rating   : 0.00 v7.5.0
% Syntax   : Number of formulae    :  318 ( 126 unt;  58 typ;   0 def)
%            Number of atoms       :  655 ( 255 equ;   0 cnn)
%            Maximal formula atoms :    6 (   2 avg)
%            Number of connectives : 6616 (  64   ~;   8   |;  42   &;6248   @)
%                                         (   0 <=>; 254  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   28 (  10 avg)
%            Number of types       :    4 (   3 usr)
%            Number of type conns  :  158 ( 158   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   58 (  55 usr;   7 con; 0-8 aty)
%            Number of variables   : 1337 (  61   ^;1186   !;   9   ?;1337   :)
%                                         (  81  !>;   0  ?*;   0  @-;   0  @+)
% SPC      : TH1_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 16:23:02.646
%------------------------------------------------------------------------------
% Could-be-implicit typings (9)
thf(ty_t_LabeledGraphSemantics_OStandard__Constant,type,
    standard_Constant: $tType > $tType ).

thf(ty_t_LabeledGraphSemantics_Oallegorical__term,type,
    allegorical_term: $tType > $tType ).

thf(ty_t_LabeledGraphs_Olabeled__graph,type,
    labeled_graph: $tType > $tType > $tType ).

thf(ty_t_Product__Type_Oprod,type,
    product_prod: $tType > $tType > $tType ).

thf(ty_t_Set_Oset,type,
    set: $tType > $tType ).

thf(ty_t_Nat_Onat,type,
    nat: $tType ).

thf(ty_t_itself,type,
    itself: $tType > $tType ).

thf(ty_tf_b,type,
    b: $tType ).

thf(ty_tf_a,type,
    a: $tType ).

% Explicit typings (49)
thf(sy_c_BNF__Def_OGr,type,
    bNF_Gr: 
      !>[A: $tType,B: $tType] : ( ( set @ A ) > ( A > B ) > ( set @ ( product_prod @ A @ B ) ) ) ).

thf(sy_c_Equiv__Relations_Ocongruent,type,
    equiv_congruent: 
      !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( A > B ) > $o ) ).

thf(sy_c_Equiv__Relations_Oequiv,type,
    equiv_equiv: 
      !>[A: $tType] : ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) > $o ) ).

thf(sy_c_Equiv__Relations_Oproj,type,
    equiv_proj: 
      !>[B: $tType,A: $tType] : ( ( set @ ( product_prod @ B @ A ) ) > B > ( set @ A ) ) ).

thf(sy_c_Hilbert__Choice_OEps,type,
    hilbert_Eps: 
      !>[A: $tType] : ( ( A > $o ) > A ) ).

thf(sy_c_If,type,
    if: 
      !>[A: $tType] : ( $o > A > A > A ) ).

thf(sy_c_LabeledGraphSemantics_OStandard__Constant_OS__Idt,type,
    standard_S_Idt: 
      !>[V: $tType] : ( standard_Constant @ V ) ).

thf(sy_c_LabeledGraphSemantics_OgetRel,type,
    getRel: 
      !>[B: $tType,A: $tType] : ( B > ( labeled_graph @ B @ A ) > ( set @ ( product_prod @ A @ A ) ) ) ).

thf(sy_c_LabeledGraphSemantics_Osemantics,type,
    semantics: 
      !>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( allegorical_term @ A ) > ( set @ ( product_prod @ B @ B ) ) ) ).

thf(sy_c_LabeledGraphs_Oedge__preserving,type,
    edge_preserving: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ C @ ( product_prod @ A @ A ) ) ) > ( set @ ( product_prod @ C @ ( product_prod @ B @ B ) ) ) > $o ) ).

thf(sy_c_LabeledGraphs_Ograph__homomorphism,type,
    graph_homomorphism: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ C ) > ( set @ ( product_prod @ B @ C ) ) > $o ) ).

thf(sy_c_LabeledGraphs_Ograph__union,type,
    graph_union: 
      !>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) ) ).

thf(sy_c_LabeledGraphs_Olabeled__graph_OLG,type,
    labeled_LG: 
      !>[L: $tType,V: $tType] : ( ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > ( labeled_graph @ L @ V ) ) ).

thf(sy_c_LabeledGraphs_Olabeled__graph_Ocase__labeled__graph,type,
    labele1974067554_graph: 
      !>[L: $tType,V: $tType,A: $tType] : ( ( ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A ) > ( labeled_graph @ L @ V ) > A ) ).

thf(sy_c_LabeledGraphs_Olabeled__graph_Oedges,type,
    labeled_edges: 
      !>[L: $tType,V: $tType] : ( ( labeled_graph @ L @ V ) > ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) ) ).

thf(sy_c_LabeledGraphs_Olabeled__graph_Overtices,type,
    labeled_vertices: 
      !>[L: $tType,V: $tType] : ( ( labeled_graph @ L @ V ) > ( set @ V ) ) ).

thf(sy_c_LabeledGraphs_Omap__graph,type,
    map_graph: 
      !>[C: $tType,B: $tType,A: $tType] : ( ( set @ ( product_prod @ C @ B ) ) > ( labeled_graph @ A @ C ) > ( labeled_graph @ A @ B ) ) ).

thf(sy_c_LabeledGraphs_Orestrict,type,
    restrict: 
      !>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) ) ).

thf(sy_c_Orderings_Obot__class_Obot,type,
    bot_bot: 
      !>[A: $tType] : A ).

thf(sy_c_Orderings_Oord__class_Oless__eq,type,
    ord_less_eq: 
      !>[A: $tType] : ( A > A > $o ) ).

thf(sy_c_Product__Type_OPair,type,
    product_Pair: 
      !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).

thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
    product_rec_prod: 
      !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).

thf(sy_c_Relation_OId__on,type,
    id_on: 
      !>[A: $tType] : ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) ) ).

thf(sy_c_Relation_OImage,type,
    image: 
      !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ A ) > ( set @ B ) ) ).

thf(sy_c_Relation_Orefl__on,type,
    refl_on: 
      !>[A: $tType] : ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) > $o ) ).

thf(sy_c_Relation_Orelcomp,type,
    relcomp: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ B @ C ) ) > ( set @ ( product_prod @ A @ C ) ) ) ).

thf(sy_c_RulesAndChains_Oagree__on,type,
    agree_on: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( labeled_graph @ A @ B ) > ( set @ ( product_prod @ B @ C ) ) > ( set @ ( product_prod @ B @ C ) ) > $o ) ).

thf(sy_c_RulesAndChains_Oconsequence__graph,type,
    consequence_graph: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) ) > ( labeled_graph @ A @ C ) > $o ) ).

thf(sy_c_RulesAndChains_Oextensible,type,
    extensible: 
      !>[L: $tType,X: $tType,V: $tType] : ( ( product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) ) > ( labeled_graph @ L @ V ) > ( set @ ( product_prod @ X @ V ) ) > $o ) ).

thf(sy_c_RulesAndChains_Oleast,type,
    least: 
      !>[X: $tType,L: $tType,V: $tType,C: $tType] : ( ( itself @ X ) > ( set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ) ) > ( labeled_graph @ L @ C ) > ( labeled_graph @ L @ C ) > $o ) ).

thf(sy_c_RulesAndChains_Oleast__consequence__graph,type,
    least_559130134_graph: 
      !>[X: $tType,L: $tType,V: $tType,C: $tType] : ( ( itself @ X ) > ( set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ) ) > ( labeled_graph @ L @ C ) > ( labeled_graph @ L @ C ) > $o ) ).

thf(sy_c_RulesAndChains_Omaintained,type,
    maintained: 
      !>[L: $tType,X: $tType,V: $tType] : ( ( product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) ) > ( labeled_graph @ L @ V ) > $o ) ).

thf(sy_c_Set_OCollect,type,
    collect: 
      !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).

thf(sy_c_Set_Oimage,type,
    image2: 
      !>[A: $tType,B: $tType] : ( ( A > B ) > ( set @ A ) > ( set @ B ) ) ).

thf(sy_c_Set_Oinsert,type,
    insert: 
      !>[A: $tType] : ( A > ( set @ A ) > ( set @ A ) ) ).

thf(sy_c_Set_Othe__elem,type,
    the_elem: 
      !>[A: $tType] : ( ( set @ A ) > A ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Oidentity__rules,type,
    standa2002409347_rules: 
      !>[A: $tType] : ( ( set @ ( standard_Constant @ A ) ) > ( set @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ A ) @ nat ) ) ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Ononempty__rule,type,
    standa244753842y_rule: 
      !>[L: $tType] : ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Oreflexivity__rule,type,
    standa245363227y_rule: 
      !>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Osymmetry__rule,type,
    standa1805702094y_rule: 
      !>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Otransitive__rule,type,
    standa2114124375e_rule: 
      !>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).

thf(sy_c_member,type,
    member: 
      !>[A: $tType] : ( A > ( set @ A ) > $o ) ).

thf(sy_v_G,type,
    g: labeled_graph @ ( standard_Constant @ a ) @ b ).

thf(sy_v_L,type,
    l: set @ ( standard_Constant @ a ) ).

thf(sy_v_P____,type,
    p: b > b > $o ).

thf(sy_v_f____,type,
    f: b > b ).

thf(sy_v_l____,type,
    l2: standard_Constant @ a ).

thf(sy_v_x____,type,
    x: b ).

thf(sy_v_y____,type,
    y: b ).

% Relevant facts (256)
thf(fact_0__092_060open_062_092_060And_062xa_O_A_092_060lbrakk_062f_Axa_A_092_060in_062_Avertices_AG_059_Axa_A_092_060notin_062_Avertices_AG_092_060rbrakk_062_A_092_060Longrightarrow_062_AFalse_092_060close_062,axiom,
    ! [Xa: b] :
      ( ( member @ b @ ( f @ Xa ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
     => ( member @ b @ Xa @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) ) ) ).

% \<open>\<And>xa. \<lbrakk>f xa \<in> vertices G; xa \<notin> vertices G\<rbrakk> \<Longrightarrow> False\<close>
thf(fact_1_fv_I2_J,axiom,
    member @ b @ ( f @ y ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) ).

% fv(2)
thf(fact_2_fv_I1_J,axiom,
    member @ b @ ( f @ x ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) ).

% fv(1)
thf(fact_3_gu2,axiom,
    ! [X2: b] :
      ( ( member @ b @ X2 @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
     => ( member @ b @ ( f @ X2 ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) ) ) ).

% gu2
thf(fact_4_assms_I1_J,axiom,
    ( g
    = ( restrict @ ( standard_Constant @ a ) @ b @ g ) ) ).

% assms(1)
thf(fact_5_r1,axiom,
    ! [X3: b] :
      ( ( member @ b @ X3 @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
      = ( p @ X3 @ X3 ) ) ).

% r1
thf(fact_6_assms_I2_J,axiom,
    ! [X4: product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat )] :
      ( ( member @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) @ X4 @ ( standa2002409347_rules @ a @ l ) )
     => ( maintained @ ( standard_Constant @ a ) @ nat @ b @ X4 @ g ) ) ).

% assms(2)
thf(fact_7_gr,axiom,
    member @ ( product_prod @ b @ b ) @ ( product_Pair @ b @ b @ ( f @ x ) @ ( f @ y ) ) @ ( getRel @ ( standard_Constant @ a ) @ b @ l2 @ g ) ).

% gr
thf(fact_8_a,axiom,
    member @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) @ l2 @ ( product_Pair @ b @ b @ ( f @ x ) @ ( f @ y ) ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ b @ g ) ).

% a
thf(fact_9_local_Orefl,axiom,
    refl_on @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) ).

% local.refl
thf(fact_10_equiv,axiom,
    equiv_equiv @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) ).

% equiv
thf(fact_11__092_060open_062graph__union_A_Imap__graph__fn_AG_Af_J_AG_A_061_AG_092_060close_062,axiom,
    ( ( graph_union @ ( standard_Constant @ a ) @ b @ ( map_graph @ b @ b @ ( standard_Constant @ a ) @ ( bNF_Gr @ b @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ f ) @ g ) @ g )
    = g ) ).

% \<open>graph_union (map_graph_fn G f) G = G\<close>
thf(fact_12_gu1,axiom,
    ! [L2: standard_Constant @ a,X2: b,Y: b] :
      ( ( member @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) @ L2 @ ( product_Pair @ b @ b @ X2 @ Y ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ b @ g ) )
     => ( ( member @ b @ X2 @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
       => ( ( member @ b @ Y @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
         => ( member @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) @ L2 @ ( product_Pair @ b @ b @ ( f @ X2 ) @ ( f @ Y ) ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ b @ g ) ) ) ) ) ).

% gu1
thf(fact_13__092_060open_062_092_060And_062x_O_Ax_A_092_060in_062_Avertices_AG_A_092_060Longrightarrow_062_A_Ix_M_Ax_J_A_092_060in_062_AgetRel_AS__Idt_AG_092_060close_062,axiom,
    ! [X3: b] :
      ( ( member @ b @ X3 @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
     => ( member @ ( product_prod @ b @ b ) @ ( product_Pair @ b @ b @ X3 @ X3 ) @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) ) ) ).

% \<open>\<And>x. x \<in> vertices G \<Longrightarrow> (x, x) \<in> getRel S_Idt G\<close>
thf(fact_14_labeled__graph_Osel_I2_J,axiom,
    ! [L: $tType,V: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
      ( ( labeled_vertices @ L @ V @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
      = X22 ) ).

% labeled_graph.sel(2)
thf(fact_15_subg,axiom,
    graph_homomorphism @ ( standard_Constant @ a ) @ b @ b @ ( map_graph @ b @ b @ ( standard_Constant @ a ) @ ( bNF_Gr @ b @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ f ) @ g ) @ g @ ( id_on @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ ( map_graph @ b @ b @ ( standard_Constant @ a ) @ ( bNF_Gr @ b @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ f ) @ g ) ) ) ).

% subg
thf(fact_16_vertices__restrict,axiom,
    ! [A: $tType,B: $tType,G: labeled_graph @ B @ A] :
      ( ( labeled_vertices @ B @ A @ ( restrict @ B @ A @ G ) )
      = ( labeled_vertices @ B @ A @ G ) ) ).

% vertices_restrict
thf(fact_17_restrict__idemp,axiom,
    ! [B: $tType,A: $tType,X3: labeled_graph @ A @ B] :
      ( ( restrict @ A @ B @ ( restrict @ A @ B @ X3 ) )
      = ( restrict @ A @ B @ X3 ) ) ).

% restrict_idemp
thf(fact_18_labeled__graph_Oinject,axiom,
    ! [L: $tType,V: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V,Y1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),Y2: set @ V] :
      ( ( ( labeled_LG @ L @ V @ X1 @ X22 )
        = ( labeled_LG @ L @ V @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y2 ) ) ) ).

% labeled_graph.inject
thf(fact_19_graph__union__idemp_I3_J,axiom,
    ! [B: $tType,A: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B] :
      ( ( graph_union @ A @ B @ A2 @ ( graph_union @ A @ B @ B2 @ A2 ) )
      = ( graph_union @ A @ B @ B2 @ A2 ) ) ).

% graph_union_idemp(3)
thf(fact_20_graph__union__idemp_I2_J,axiom,
    ! [B: $tType,A: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B] :
      ( ( graph_union @ A @ B @ A2 @ ( graph_union @ A @ B @ A2 @ B2 ) )
      = ( graph_union @ A @ B @ A2 @ B2 ) ) ).

% graph_union_idemp(2)
thf(fact_21_graph__union__idemp_I1_J,axiom,
    ! [B: $tType,A: $tType,A2: labeled_graph @ A @ B] :
      ( ( graph_union @ A @ B @ A2 @ A2 )
      = A2 ) ).

% graph_union_idemp(1)
thf(fact_22_map__graph__preserves__restricted,axiom,
    ! [C: $tType,B: $tType,A: $tType,G: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( map_graph @ B @ C @ A @ F @ G )
        = ( restrict @ A @ C @ ( map_graph @ B @ C @ A @ F @ G ) ) ) ) ).

% map_graph_preserves_restricted
thf(fact_23_graph__union__preserves__restrict,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( G_1
        = ( restrict @ A @ B @ G_1 ) )
     => ( ( G_2
          = ( restrict @ A @ B @ G_2 ) )
       => ( ( graph_union @ A @ B @ G_1 @ G_2 )
          = ( restrict @ A @ B @ ( graph_union @ A @ B @ G_1 @ G_2 ) ) ) ) ) ).

% graph_union_preserves_restrict
thf(fact_24_labeled__graph_Ocollapse,axiom,
    ! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V] :
      ( ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) )
      = Labeled_graph ) ).

% labeled_graph.collapse
thf(fact_25_subgraph__refl,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G @ G @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G ) ) )
      = ( G
        = ( restrict @ A @ B @ G ) ) ) ).

% subgraph_refl
thf(fact_26_subgraph__restrict,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G @ ( restrict @ A @ B @ G ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G ) ) )
      = ( G
        = ( restrict @ A @ B @ G ) ) ) ).

% subgraph_restrict
thf(fact_27_graph__homomorphism__Id,axiom,
    ! [B: $tType,A: $tType,A3: labeled_graph @ A @ B] : ( graph_homomorphism @ A @ B @ B @ ( restrict @ A @ B @ A3 ) @ ( restrict @ A @ B @ A3 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A3 ) ) ) ).

% graph_homomorphism_Id
thf(fact_28_map__graph__preserves__subgraph,axiom,
    ! [C: $tType,B: $tType,A: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ B @ A2 @ B2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) )
     => ( graph_homomorphism @ A @ C @ C @ ( map_graph @ B @ C @ A @ F @ A2 ) @ ( map_graph @ B @ C @ A @ F @ B2 ) @ ( id_on @ C @ ( labeled_vertices @ A @ C @ ( map_graph @ B @ C @ A @ F @ A2 ) ) ) ) ) ).

% map_graph_preserves_subgraph
thf(fact_29_map__graph__fn__id_I2_J,axiom,
    ! [B: $tType,A: $tType,X5: labeled_graph @ A @ B] :
      ( ( map_graph @ B @ B @ A @ ( id_on @ B @ ( labeled_vertices @ A @ B @ X5 ) ) @ X5 )
      = ( restrict @ A @ B @ X5 ) ) ).

% map_graph_fn_id(2)
thf(fact_30_map__graph__fn__graphI,axiom,
    ! [B: $tType,C: $tType,A: $tType,G: labeled_graph @ A @ C,F: C > B] :
      ( ( map_graph @ C @ B @ A @ ( bNF_Gr @ C @ B @ ( labeled_vertices @ A @ C @ G ) @ F ) @ G )
      = ( restrict @ A @ B @ ( map_graph @ C @ B @ A @ ( bNF_Gr @ C @ B @ ( labeled_vertices @ A @ C @ G ) @ F ) @ G ) ) ) ).

% map_graph_fn_graphI
thf(fact_31_graph__homo,axiom,
    ! [A: $tType,C: $tType,B: $tType,G: labeled_graph @ A @ B,F: B > C] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( graph_homomorphism @ A @ B @ C @ G @ ( map_graph @ B @ C @ A @ ( bNF_Gr @ B @ C @ ( labeled_vertices @ A @ B @ G ) @ F ) @ G ) @ ( bNF_Gr @ B @ C @ ( labeled_vertices @ A @ B @ G ) @ F ) ) ) ).

% graph_homo
thf(fact_32_labeled__graph_Osel_I1_J,axiom,
    ! [V: $tType,L: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
      ( ( labeled_edges @ L @ V @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
      = X1 ) ).

% labeled_graph.sel(1)
thf(fact_33_subgraph__def,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
      = ( ( G_1
          = ( restrict @ A @ B @ G_1 ) )
        & ( G_2
          = ( restrict @ A @ B @ G_2 ) )
        & ( ( graph_union @ A @ B @ G_1 @ G_2 )
          = G_2 ) ) ) ).

% subgraph_def
thf(fact_34_subgraph__trans,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B,G_3: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
     => ( ( graph_homomorphism @ A @ B @ B @ G_2 @ G_3 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_2 ) ) )
       => ( graph_homomorphism @ A @ B @ B @ G_1 @ G_3 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) ) ) ) ).

% subgraph_trans
thf(fact_35_map__graph__fn__eqI,axiom,
    ! [C: $tType,A: $tType,B: $tType,G: labeled_graph @ B @ A,F: A > C,G2: A > C] :
      ( ! [X6: A] :
          ( ( member @ A @ X6 @ ( labeled_vertices @ B @ A @ G ) )
         => ( ( F @ X6 )
            = ( G2 @ X6 ) ) )
     => ( ( map_graph @ A @ C @ B @ ( bNF_Gr @ A @ C @ ( labeled_vertices @ B @ A @ G ) @ F ) @ G )
        = ( map_graph @ A @ C @ B @ ( bNF_Gr @ A @ C @ ( labeled_vertices @ B @ A @ G ) @ G2 ) @ G ) ) ) ).

% map_graph_fn_eqI
thf(fact_36_labeled__graph_Oinduct,axiom,
    ! [V: $tType,L: $tType,P: ( labeled_graph @ L @ V ) > $o,Labeled_graph: labeled_graph @ L @ V] :
      ( ! [X1a: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X2a: set @ V] : ( P @ ( labeled_LG @ L @ V @ X1a @ X2a ) )
     => ( P @ Labeled_graph ) ) ).

% labeled_graph.induct
thf(fact_37_labeled__graph_Oexhaust,axiom,
    ! [L: $tType,V: $tType,Y3: labeled_graph @ L @ V] :
      ~ ! [X12: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X23: set @ V] :
          ( Y3
         != ( labeled_LG @ L @ V @ X12 @ X23 ) ) ).

% labeled_graph.exhaust
thf(fact_38_subgraph__preserves__hom,axiom,
    ! [A: $tType,B: $tType,C: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B,X5: labeled_graph @ A @ C,H: set @ ( product_prod @ C @ B )] :
      ( ( graph_homomorphism @ A @ B @ B @ A2 @ B2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) )
     => ( ( graph_homomorphism @ A @ C @ B @ X5 @ A2 @ H )
       => ( graph_homomorphism @ A @ C @ B @ X5 @ B2 @ H ) ) ) ).

% subgraph_preserves_hom
thf(fact_39_labeled__graph_Oexhaust__sel,axiom,
    ! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V] :
      ( Labeled_graph
      = ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) ) ).

% labeled_graph.exhaust_sel
thf(fact_40_labeled__graph_Oexpand,axiom,
    ! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V,Labeled_graph2: labeled_graph @ L @ V] :
      ( ( ( ( labeled_edges @ L @ V @ Labeled_graph )
          = ( labeled_edges @ L @ V @ Labeled_graph2 ) )
        & ( ( labeled_vertices @ L @ V @ Labeled_graph )
          = ( labeled_vertices @ L @ V @ Labeled_graph2 ) ) )
     => ( Labeled_graph = Labeled_graph2 ) ) ).

% labeled_graph.expand
thf(fact_41_getRel__hom,axiom,
    ! [C: $tType,A: $tType,B: $tType,Y3: A,Z: A,L3: B,G: labeled_graph @ B @ A,F: A > C] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z ) @ ( getRel @ B @ A @ L3 @ G ) )
     => ( ( member @ A @ Y3 @ ( labeled_vertices @ B @ A @ G ) )
       => ( ( member @ A @ Z @ ( labeled_vertices @ B @ A @ G ) )
         => ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ ( F @ Y3 ) @ ( F @ Z ) ) @ ( getRel @ B @ C @ L3 @ ( map_graph @ A @ C @ B @ ( bNF_Gr @ A @ C @ ( labeled_vertices @ B @ A @ G ) @ F ) @ G ) ) ) ) ) ) ).

% getRel_hom
thf(fact_42_getRel__map__fn,axiom,
    ! [C: $tType,A: $tType,B: $tType,A22: A,G: labeled_graph @ B @ A,B22: A,L3: B,F: A > C,A3: C,B3: C] :
      ( ( member @ A @ A22 @ ( labeled_vertices @ B @ A @ G ) )
     => ( ( member @ A @ B22 @ ( labeled_vertices @ B @ A @ G ) )
       => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A22 @ B22 ) @ ( getRel @ B @ A @ L3 @ G ) )
         => ( ( ( F @ A22 )
              = A3 )
           => ( ( ( F @ B22 )
                = B3 )
             => ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ A3 @ B3 ) @ ( getRel @ B @ C @ L3 @ ( map_graph @ A @ C @ B @ ( bNF_Gr @ A @ C @ ( labeled_vertices @ B @ A @ G ) @ F ) @ G ) ) ) ) ) ) ) ) ).

% getRel_map_fn
thf(fact_43_idt__eq,axiom,
    ! [X2: b,Y: b] :
      ( ( member @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ b @ b ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ b @ b @ X2 @ Y ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ b @ g ) )
     => ( ( hilbert_Eps @ b @ ( p @ X2 ) )
        = ( hilbert_Eps @ b @ ( p @ Y ) ) ) ) ).

% idt_eq
thf(fact_44_vert__P,axiom,
    ! [X3: b] :
      ( ( member @ b @ X3 @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) )
     => ( member @ ( product_prod @ b @ b ) @ ( product_Pair @ b @ b @ X3 @ ( hilbert_Eps @ b @ ( p @ X3 ) ) ) @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) ) ) ).

% vert_P
thf(fact_45_mem__Collect__eq,axiom,
    ! [A: $tType,A3: A,P: A > $o] :
      ( ( member @ A @ A3 @ ( collect @ A @ P ) )
      = ( P @ A3 ) ) ).

% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
    ! [A: $tType,A2: set @ A] :
      ( ( collect @ A
        @ ^ [X7: A] : ( member @ A @ X7 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_47_Collect__cong,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ! [X6: A] :
          ( ( P @ X6 )
          = ( Q @ X6 ) )
     => ( ( collect @ A @ P )
        = ( collect @ A @ Q ) ) ) ).

% Collect_cong
thf(fact_48_getRel__subgraph,axiom,
    ! [A: $tType,B: $tType,Y3: A,Z: A,L3: B,G: labeled_graph @ B @ A,G3: labeled_graph @ B @ A] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z ) @ ( getRel @ B @ A @ L3 @ G ) )
     => ( ( graph_homomorphism @ B @ A @ A @ G @ G3 @ ( id_on @ A @ ( labeled_vertices @ B @ A @ G ) ) )
       => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z ) @ ( getRel @ B @ A @ L3 @ G3 ) ) ) ) ).

% getRel_subgraph
thf(fact_49_in__Gr,axiom,
    ! [A: $tType,B: $tType,X3: A,Y3: B,A2: set @ A,F: A > B] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y3 ) @ ( bNF_Gr @ A @ B @ A2 @ F ) )
      = ( ( member @ A @ X3 @ A2 )
        & ( ( F @ X3 )
          = Y3 ) ) ) ).

% in_Gr
thf(fact_50_Gr__not__in,axiom,
    ! [B: $tType,A: $tType,X3: A,F2: set @ A,F: A > B,Y3: B] :
      ( ( ~ ( member @ A @ X3 @ F2 )
        | ( ( F @ X3 )
         != Y3 ) )
     => ~ ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y3 ) @ ( bNF_Gr @ A @ B @ F2 @ F ) ) ) ).

% Gr_not_in
thf(fact_51_Id__onI,axiom,
    ! [A: $tType,A3: A,A2: set @ A] :
      ( ( member @ A @ A3 @ A2 )
     => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A3 ) @ ( id_on @ A @ A2 ) ) ) ).

% Id_onI
thf(fact_52_getRel__dom_I2_J,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B,A3: B,B3: B,L3: A] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( getRel @ A @ B @ L3 @ G ) )
       => ( member @ B @ B3 @ ( labeled_vertices @ A @ B @ G ) ) ) ) ).

% getRel_dom(2)
thf(fact_53_getRel__dom_I1_J,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B,A3: B,B3: B,L3: A] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( getRel @ A @ B @ L3 @ G ) )
       => ( member @ B @ A3 @ ( labeled_vertices @ A @ B @ G ) ) ) ) ).

% getRel_dom(1)
thf(fact_54_Id__on__iff,axiom,
    ! [A: $tType,X3: A,Y3: A,A2: set @ A] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ ( id_on @ A @ A2 ) )
      = ( ( X3 = Y3 )
        & ( member @ A @ X3 @ A2 ) ) ) ).

% Id_on_iff
thf(fact_55_Id__on__eqI,axiom,
    ! [A: $tType,A3: A,B3: A,A2: set @ A] :
      ( ( A3 = B3 )
     => ( ( member @ A @ A3 @ A2 )
       => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( id_on @ A @ A2 ) ) ) ) ).

% Id_on_eqI
thf(fact_56_Id__onE,axiom,
    ! [A: $tType,C2: product_prod @ A @ A,A2: set @ A] :
      ( ( member @ ( product_prod @ A @ A ) @ C2 @ ( id_on @ A @ A2 ) )
     => ~ ! [X6: A] :
            ( ( member @ A @ X6 @ A2 )
           => ( C2
             != ( product_Pair @ A @ A @ X6 @ X6 ) ) ) ) ).

% Id_onE
thf(fact_57_refl__onD2,axiom,
    ! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),X3: A,Y3: A] :
      ( ( refl_on @ A @ A2 @ R )
     => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ R )
       => ( member @ A @ Y3 @ A2 ) ) ) ).

% refl_onD2
thf(fact_58_refl__onD1,axiom,
    ! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),X3: A,Y3: A] :
      ( ( refl_on @ A @ A2 @ R )
     => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ R )
       => ( member @ A @ X3 @ A2 ) ) ) ).

% refl_onD1
thf(fact_59_refl__onD,axiom,
    ! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),A3: A] :
      ( ( refl_on @ A @ A2 @ R )
     => ( ( member @ A @ A3 @ A2 )
       => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A3 ) @ R ) ) ) ).

% refl_onD
thf(fact_60_refl__on__Id__on,axiom,
    ! [A: $tType,A2: set @ A] : ( refl_on @ A @ A2 @ ( id_on @ A @ A2 ) ) ).

% refl_on_Id_on
thf(fact_61_getRel__homR,axiom,
    ! [C: $tType,A: $tType,B: $tType,Y3: A,Z: A,L3: B,G: labeled_graph @ B @ A,U: C,F: set @ ( product_prod @ A @ C ),V2: C] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z ) @ ( getRel @ B @ A @ L3 @ G ) )
     => ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ Y3 @ U ) @ F )
       => ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ Z @ V2 ) @ F )
         => ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ U @ V2 ) @ ( getRel @ B @ C @ L3 @ ( map_graph @ A @ C @ B @ F @ G ) ) ) ) ) ) ).

% getRel_homR
thf(fact_62_maintained__refl,axiom,
    ! [B: $tType,C: $tType,A: $tType,R2: labeled_graph @ A @ B,G: labeled_graph @ A @ C] : ( maintained @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R2 @ R2 ) @ G ) ).

% maintained_refl
thf(fact_63_edge__preserving__on__graphI,axiom,
    ! [B: $tType,C: $tType,A: $tType,X5: labeled_graph @ A @ B,F: B > C,Y4: set @ ( product_prod @ A @ ( product_prod @ C @ C ) )] :
      ( ! [L4: A,X6: B,Y5: B] :
          ( ( member @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ L4 @ ( product_Pair @ B @ B @ X6 @ Y5 ) ) @ ( labeled_edges @ A @ B @ X5 ) )
         => ( ( member @ B @ X6 @ ( labeled_vertices @ A @ B @ X5 ) )
           => ( ( member @ B @ Y5 @ ( labeled_vertices @ A @ B @ X5 ) )
             => ( member @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_Pair @ A @ ( product_prod @ C @ C ) @ L4 @ ( product_Pair @ C @ C @ ( F @ X6 ) @ ( F @ Y5 ) ) ) @ Y4 ) ) ) )
     => ( edge_preserving @ B @ C @ A @ ( bNF_Gr @ B @ C @ ( labeled_vertices @ A @ B @ X5 ) @ F ) @ ( labeled_edges @ A @ B @ X5 ) @ Y4 ) ) ).

% edge_preserving_on_graphI
thf(fact_64_reflexivity__rule,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B,L3: A] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( maintained @ A @ nat @ B @ ( standa245363227y_rule @ A @ L3 ) @ G )
       => ( refl_on @ B @ ( labeled_vertices @ A @ B @ G ) @ ( getRel @ A @ B @ L3 @ G ) ) ) ) ).

% reflexivity_rule
thf(fact_65_old_Oprod_Oinject,axiom,
    ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
      ( ( ( product_Pair @ A @ B @ A3 @ B3 )
        = ( product_Pair @ A @ B @ A4 @ B4 ) )
      = ( ( A3 = A4 )
        & ( B3 = B4 ) ) ) ).

% old.prod.inject
thf(fact_66_prod_Oinject,axiom,
    ! [A: $tType,B: $tType,X1: A,X22: B,Y1: A,Y2: B] :
      ( ( ( product_Pair @ A @ B @ X1 @ X22 )
        = ( product_Pair @ A @ B @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y2 ) ) ) ).

% prod.inject
thf(fact_67_refl__on__domain,axiom,
    ! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),A3: A,B3: A] :
      ( ( refl_on @ A @ A2 @ R )
     => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R )
       => ( ( member @ A @ A3 @ A2 )
          & ( member @ A @ B3 @ A2 ) ) ) ) ).

% refl_on_domain
thf(fact_68_GrD2,axiom,
    ! [A: $tType,B: $tType,X3: A,Fx: B,A2: set @ A,F: A > B] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Fx ) @ ( bNF_Gr @ A @ B @ A2 @ F ) )
     => ( ( F @ X3 )
        = Fx ) ) ).

% GrD2
thf(fact_69_GrD1,axiom,
    ! [B: $tType,A: $tType,X3: A,Fx: B,A2: set @ A,F: A > B] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Fx ) @ ( bNF_Gr @ A @ B @ A2 @ F ) )
     => ( member @ A @ X3 @ A2 ) ) ).

% GrD1
thf(fact_70_edge__preserving__Id,axiom,
    ! [A: $tType,B: $tType,Y3: set @ A,X3: set @ ( product_prod @ B @ ( product_prod @ A @ A ) )] : ( edge_preserving @ A @ A @ B @ ( id_on @ A @ Y3 ) @ X3 @ X3 ) ).

% edge_preserving_Id
thf(fact_71_map__graph__edge__preserving,axiom,
    ! [B: $tType,A: $tType,C: $tType,F: set @ ( product_prod @ A @ B ),G: labeled_graph @ C @ A] : ( edge_preserving @ A @ B @ C @ F @ ( labeled_edges @ C @ A @ G ) @ ( labeled_edges @ C @ B @ ( map_graph @ A @ B @ C @ F @ G ) ) ) ).

% map_graph_edge_preserving
thf(fact_72_edge__preserving__atomic,axiom,
    ! [A: $tType,B: $tType,C: $tType,H1: set @ ( product_prod @ A @ B ),E1: set @ ( product_prod @ C @ ( product_prod @ A @ A ) ),E2: set @ ( product_prod @ C @ ( product_prod @ B @ B ) ),V1: A,V12: B,V22: A,V23: B,K: C] :
      ( ( edge_preserving @ A @ B @ C @ H1 @ E1 @ E2 )
     => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ V1 @ V12 ) @ H1 )
       => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ V22 @ V23 ) @ H1 )
         => ( ( member @ ( product_prod @ C @ ( product_prod @ A @ A ) ) @ ( product_Pair @ C @ ( product_prod @ A @ A ) @ K @ ( product_Pair @ A @ A @ V1 @ V22 ) ) @ E1 )
           => ( member @ ( product_prod @ C @ ( product_prod @ B @ B ) ) @ ( product_Pair @ C @ ( product_prod @ B @ B ) @ K @ ( product_Pair @ B @ B @ V12 @ V23 ) ) @ E2 ) ) ) ) ) ).

% edge_preserving_atomic
thf(fact_73_surj__pair,axiom,
    ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
    ? [X6: A,Y5: B] :
      ( P2
      = ( product_Pair @ A @ B @ X6 @ Y5 ) ) ).

% surj_pair
thf(fact_74_prod__cases,axiom,
    ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
      ( ! [A5: A,B5: B] : ( P @ ( product_Pair @ A @ B @ A5 @ B5 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_75_Pair__inject,axiom,
    ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
      ( ( ( product_Pair @ A @ B @ A3 @ B3 )
        = ( product_Pair @ A @ B @ A4 @ B4 ) )
     => ~ ( ( A3 = A4 )
         => ( B3 != B4 ) ) ) ).

% Pair_inject
thf(fact_76_old_Oprod_Oexhaust,axiom,
    ! [A: $tType,B: $tType,Y3: product_prod @ A @ B] :
      ~ ! [A5: A,B5: B] :
          ( Y3
         != ( product_Pair @ A @ B @ A5 @ B5 ) ) ).

% old.prod.exhaust
thf(fact_77_old_Oprod_Oinducts,axiom,
    ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
      ( ! [A5: A,B5: B] : ( P @ ( product_Pair @ A @ B @ A5 @ B5 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_78_prod__cases3,axiom,
    ! [A: $tType,B: $tType,C: $tType,Y3: product_prod @ A @ ( product_prod @ B @ C )] :
      ~ ! [A5: A,B5: B,C3: C] :
          ( Y3
         != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A5 @ ( product_Pair @ B @ C @ B5 @ C3 ) ) ) ).

% prod_cases3
thf(fact_79_prod__cases4,axiom,
    ! [A: $tType,B: $tType,C: $tType,D: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
      ~ ! [A5: A,B5: B,C3: C,D2: D] :
          ( Y3
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B5 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) ) ).

% prod_cases4
thf(fact_80_prod__cases5,axiom,
    ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
      ~ ! [A5: A,B5: B,C3: C,D2: D,E3: E] :
          ( Y3
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E3 ) ) ) ) ) ).

% prod_cases5
thf(fact_81_prod__cases6,axiom,
    ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F3: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) )] :
      ~ ! [A5: A,B5: B,C3: C,D2: D,E3: E,F4: F3] :
          ( Y3
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F3 ) @ D2 @ ( product_Pair @ E @ F3 @ E3 @ F4 ) ) ) ) ) ) ).

% prod_cases6
thf(fact_82_prod__cases7,axiom,
    ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F3: $tType,G4: $tType,Y3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) )] :
      ~ ! [A5: A,B5: B,C3: C,D2: D,E3: E,F4: F3,G5: G4] :
          ( Y3
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F3 @ G4 ) @ E3 @ ( product_Pair @ F3 @ G4 @ F4 @ G5 ) ) ) ) ) ) ) ).

% prod_cases7
thf(fact_83_prod__induct3,axiom,
    ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ C )] :
      ( ! [A5: A,B5: B,C3: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A5 @ ( product_Pair @ B @ C @ B5 @ C3 ) ) )
     => ( P @ X3 ) ) ).

% prod_induct3
thf(fact_84_prod__induct4,axiom,
    ! [D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
      ( ! [A5: A,B5: B,C3: C,D2: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B5 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) )
     => ( P @ X3 ) ) ).

% prod_induct4
thf(fact_85_prod__induct5,axiom,
    ! [E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
      ( ! [A5: A,B5: B,C3: C,D2: D,E3: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E3 ) ) ) ) )
     => ( P @ X3 ) ) ).

% prod_induct5
thf(fact_86_prod__induct6,axiom,
    ! [F3: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) )] :
      ( ! [A5: A,B5: B,C3: C,D2: D,E3: E,F4: F3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F3 ) @ D2 @ ( product_Pair @ E @ F3 @ E3 @ F4 ) ) ) ) ) )
     => ( P @ X3 ) ) ).

% prod_induct6
thf(fact_87_prod__induct7,axiom,
    ! [G4: $tType,F3: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) )] :
      ( ! [A5: A,B5: B,C3: C,D2: D,E3: E,F4: F3,G5: G4] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G4 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F3 @ G4 ) @ E3 @ ( product_Pair @ F3 @ G4 @ F4 @ G5 ) ) ) ) ) ) )
     => ( P @ X3 ) ) ).

% prod_induct7
thf(fact_88_old_Oprod_Orec,axiom,
    ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A3: A,B3: B] :
      ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
      = ( F1 @ A3 @ B3 ) ) ).

% old.prod.rec
thf(fact_89_least__consequence__graphI,axiom,
    ! [X: $tType,A: $tType,C: $tType,L: $tType,Rs: set @ ( product_prod @ ( labeled_graph @ L @ A ) @ ( labeled_graph @ L @ A ) ),G: labeled_graph @ L @ C,S: labeled_graph @ L @ C,T2: itself @ X] :
      ( ( consequence_graph @ L @ A @ C @ Rs @ G )
     => ( ( graph_homomorphism @ L @ C @ C @ S @ G @ ( id_on @ C @ ( labeled_vertices @ L @ C @ S ) ) )
       => ( ! [C4: labeled_graph @ L @ X] :
              ( ( consequence_graph @ L @ A @ X @ Rs @ C4 )
             => ( maintained @ L @ C @ X @ ( product_Pair @ ( labeled_graph @ L @ C ) @ ( labeled_graph @ L @ C ) @ S @ G ) @ C4 ) )
         => ( least_559130134_graph @ X @ L @ A @ C @ T2 @ Rs @ S @ G ) ) ) ) ).

% least_consequence_graphI
thf(fact_90_leastI,axiom,
    ! [X: $tType,A: $tType,C: $tType,L: $tType,S: labeled_graph @ L @ C,G: labeled_graph @ L @ C,Rs: set @ ( product_prod @ ( labeled_graph @ L @ A ) @ ( labeled_graph @ L @ A ) ),T2: itself @ X] :
      ( ( graph_homomorphism @ L @ C @ C @ S @ G @ ( id_on @ C @ ( labeled_vertices @ L @ C @ S ) ) )
     => ( ! [C4: labeled_graph @ L @ X] :
            ( ( consequence_graph @ L @ A @ X @ Rs @ C4 )
           => ( maintained @ L @ C @ X @ ( product_Pair @ ( labeled_graph @ L @ C ) @ ( labeled_graph @ L @ C ) @ S @ G ) @ C4 ) )
       => ( least @ X @ L @ A @ C @ T2 @ Rs @ S @ G ) ) ) ).

% leastI
thf(fact_91_map__graph__in,axiom,
    ! [B: $tType,C: $tType,A: $tType,G: labeled_graph @ A @ B,A3: B,B3: B,E4: allegorical_term @ A,F: B > C] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( semantics @ A @ B @ G @ E4 ) )
       => ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ ( F @ A3 ) @ ( F @ B3 ) ) @ ( semantics @ A @ C @ ( map_graph @ B @ C @ A @ ( bNF_Gr @ B @ C @ ( labeled_vertices @ A @ B @ G ) @ F ) @ G ) @ E4 ) ) ) ) ).

% map_graph_in
thf(fact_92_maintainedI,axiom,
    ! [A: $tType,B: $tType,C: $tType,A2: labeled_graph @ C @ A,G: labeled_graph @ C @ B,B2: labeled_graph @ C @ A] :
      ( ! [F4: set @ ( product_prod @ A @ B )] :
          ( ( graph_homomorphism @ C @ A @ B @ A2 @ G @ F4 )
         => ( extensible @ C @ A @ B @ ( product_Pair @ ( labeled_graph @ C @ A ) @ ( labeled_graph @ C @ A ) @ A2 @ B2 ) @ G @ F4 ) )
     => ( maintained @ C @ A @ B @ ( product_Pair @ ( labeled_graph @ C @ A ) @ ( labeled_graph @ C @ A ) @ A2 @ B2 ) @ G ) ) ).

% maintainedI
thf(fact_93_extensible__refl__concr,axiom,
    ! [A: $tType,C: $tType,B: $tType,E_1: set @ ( product_prod @ A @ ( product_prod @ B @ B ) ),V2: set @ B,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C ),E_2: set @ ( product_prod @ A @ ( product_prod @ B @ B ) )] :
      ( ( graph_homomorphism @ A @ B @ C @ ( labeled_LG @ A @ B @ E_1 @ V2 ) @ G @ F )
     => ( ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ ( labeled_LG @ A @ B @ E_1 @ V2 ) @ ( labeled_LG @ A @ B @ E_2 @ V2 ) ) @ G @ F )
        = ( graph_homomorphism @ A @ B @ C @ ( labeled_LG @ A @ B @ E_2 @ V2 ) @ G @ F ) ) ) ).

% extensible_refl_concr
thf(fact_94_labeled__graph_Osplit__sel,axiom,
    ! [A: $tType,V: $tType,L: $tType,P: A > $o,F: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph: labeled_graph @ L @ V] :
      ( ( P @ ( labele1974067554_graph @ L @ V @ A @ F @ Labeled_graph ) )
      = ( ( Labeled_graph
          = ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) )
       => ( P @ ( F @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) ) ) ) ).

% labeled_graph.split_sel
thf(fact_95_extensible__refl,axiom,
    ! [A: $tType,C: $tType,B: $tType,R2: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ C @ R2 @ G @ F )
     => ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R2 @ R2 ) @ G @ F ) ) ).

% extensible_refl
thf(fact_96_least__consequence__graph__def,axiom,
    ! [L: $tType,V: $tType,C: $tType,X: $tType] :
      ( ( least_559130134_graph @ X @ L @ V @ C )
      = ( ^ [T3: itself @ X,Rs2: set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ),S2: labeled_graph @ L @ C,G6: labeled_graph @ L @ C] :
            ( ( consequence_graph @ L @ V @ C @ Rs2 @ G6 )
            & ( least @ X @ L @ V @ C @ T3 @ Rs2 @ S2 @ G6 ) ) ) ) ).

% least_consequence_graph_def
thf(fact_97_consequence__graphD_I3_J,axiom,
    ! [B: $tType,C: $tType,A: $tType,Rs: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G: labeled_graph @ A @ C] :
      ( ( consequence_graph @ A @ B @ C @ Rs @ G )
     => ( G
        = ( restrict @ A @ C @ G ) ) ) ).

% consequence_graphD(3)
thf(fact_98_graph__homomorphism__semantics,axiom,
    ! [B: $tType,C: $tType,A: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C ),A3: B,B3: B,E4: allegorical_term @ A,A4: C,B4: C] :
      ( ( graph_homomorphism @ A @ B @ C @ A2 @ B2 @ F )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( semantics @ A @ B @ A2 @ E4 ) )
       => ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ A3 @ A4 ) @ F )
         => ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B3 @ B4 ) @ F )
           => ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ A4 @ B4 ) @ ( semantics @ A @ C @ B2 @ E4 ) ) ) ) ) ) ).

% graph_homomorphism_semantics
thf(fact_99_consequence__graphD_I1_J,axiom,
    ! [B: $tType,C: $tType,A: $tType,Rs: set @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ),G: labeled_graph @ A @ C,R2: product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B )] :
      ( ( consequence_graph @ A @ B @ C @ Rs @ G )
     => ( ( member @ ( product_prod @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) ) @ R2 @ Rs )
       => ( maintained @ A @ B @ C @ R2 @ G ) ) ) ).

% consequence_graphD(1)
thf(fact_100_labeled__graph_Ocase,axiom,
    ! [L: $tType,A: $tType,V: $tType,F: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
      ( ( labele1974067554_graph @ L @ V @ A @ F @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
      = ( F @ X1 @ X22 ) ) ).

% labeled_graph.case
thf(fact_101_semantics__in__vertices_I1_J,axiom,
    ! [B: $tType,A: $tType,A2: labeled_graph @ A @ B,A3: B,B3: B,E4: allegorical_term @ A] :
      ( ( A2
        = ( restrict @ A @ B @ A2 ) )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( semantics @ A @ B @ A2 @ E4 ) )
       => ( member @ B @ A3 @ ( labeled_vertices @ A @ B @ A2 ) ) ) ) ).

% semantics_in_vertices(1)
thf(fact_102_semantics__in__vertices_I2_J,axiom,
    ! [B: $tType,A: $tType,A2: labeled_graph @ A @ B,A3: B,B3: B,E4: allegorical_term @ A] :
      ( ( A2
        = ( restrict @ A @ B @ A2 ) )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( semantics @ A @ B @ A2 @ E4 ) )
       => ( member @ B @ B3 @ ( labeled_vertices @ A @ B @ A2 ) ) ) ) ).

% semantics_in_vertices(2)
thf(fact_103_labeled__graph_Ocase__eq__if,axiom,
    ! [A: $tType,V: $tType,L: $tType] :
      ( ( labele1974067554_graph @ L @ V @ A )
      = ( ^ [F5: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph3: labeled_graph @ L @ V] : ( F5 @ ( labeled_edges @ L @ V @ Labeled_graph3 ) @ ( labeled_vertices @ L @ V @ Labeled_graph3 ) ) ) ) ).

% labeled_graph.case_eq_if
thf(fact_104_subgraph__semantics,axiom,
    ! [B: $tType,A: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B,A3: B,B3: B,E4: allegorical_term @ A] :
      ( ( graph_homomorphism @ A @ B @ B @ A2 @ B2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( semantics @ A @ B @ A2 @ E4 ) )
       => ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A3 @ B3 ) @ ( semantics @ A @ B @ B2 @ E4 ) ) ) ) ).

% subgraph_semantics
thf(fact_105_maintainedD,axiom,
    ! [A: $tType,C: $tType,B: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C )] :
      ( ( maintained @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ A2 @ B2 ) @ G )
     => ( ( graph_homomorphism @ A @ B @ C @ A2 @ G @ F )
       => ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ A2 @ B2 ) @ G @ F ) ) ) ).

% maintainedD
thf(fact_106_least__def,axiom,
    ! [L: $tType,V: $tType,C: $tType,X: $tType] :
      ( ( least @ X @ L @ V @ C )
      = ( ^ [Uu: itself @ X,Rs2: set @ ( product_prod @ ( labeled_graph @ L @ V ) @ ( labeled_graph @ L @ V ) ),S2: labeled_graph @ L @ C,G6: labeled_graph @ L @ C] :
            ( ( graph_homomorphism @ L @ C @ C @ S2 @ G6 @ ( id_on @ C @ ( labeled_vertices @ L @ C @ S2 ) ) )
            & ! [C5: labeled_graph @ L @ X] :
                ( ( consequence_graph @ L @ V @ X @ Rs2 @ C5 )
               => ( maintained @ L @ C @ X @ ( product_Pair @ ( labeled_graph @ L @ C ) @ ( labeled_graph @ L @ C ) @ S2 @ G6 ) @ C5 ) ) ) ) ) ).

% least_def
thf(fact_107_labeled__graph_Osplit__sel__asm,axiom,
    ! [A: $tType,V: $tType,L: $tType,P: A > $o,F: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph: labeled_graph @ L @ V] :
      ( ( P @ ( labele1974067554_graph @ L @ V @ A @ F @ Labeled_graph ) )
      = ( ~ ( ( Labeled_graph
              = ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) )
            & ~ ( P @ ( F @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) ) ) ) ) ).

% labeled_graph.split_sel_asm
thf(fact_108_extensibleI,axiom,
    ! [A: $tType,C: $tType,B: $tType,R22: labeled_graph @ A @ B,G: labeled_graph @ A @ C,G2: set @ ( product_prod @ B @ C ),R1: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ C @ R22 @ G @ G2 )
     => ( ( agree_on @ A @ B @ C @ R1 @ F @ G2 )
       => ( extensible @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R1 @ R22 ) @ G @ F ) ) ) ).

% extensibleI
thf(fact_109_subgraph__subset_I2_J,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
     => ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ ( restrict @ A @ B @ G_1 ) ) @ ( labeled_edges @ A @ B @ G_2 ) ) ) ).

% subgraph_subset(2)
thf(fact_110_graph__homo__union__id_I1_J,axiom,
    ! [A: $tType,C: $tType,B: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ C @ ( graph_union @ A @ B @ A2 @ B2 ) @ G @ F )
     => ( ( A2
          = ( restrict @ A @ B @ A2 ) )
       => ( graph_homomorphism @ A @ B @ C @ A2 @ G @ ( relcomp @ B @ B @ C @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) @ F ) ) ) ) ).

% graph_homo_union_id(1)
thf(fact_111_graph__homo__union__id_I2_J,axiom,
    ! [A: $tType,C: $tType,B: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ C @ ( graph_union @ A @ B @ A2 @ B2 ) @ G @ F )
     => ( ( B2
          = ( restrict @ A @ B @ B2 ) )
       => ( graph_homomorphism @ A @ B @ C @ B2 @ G @ ( relcomp @ B @ B @ C @ ( id_on @ B @ ( labeled_vertices @ A @ B @ B2 ) ) @ F ) ) ) ) ).

% graph_homo_union_id(2)
thf(fact_112__092_060open_062f_A_092_060equiv_062_A_092_060lambda_062x_O_Aif_AgetRel_AS__Idt_AG_A_096_096_A_123x_125_A_061_A_123_125_Athen_Ax_Aelse_AEps_A_IP_Ax_J_092_060close_062,axiom,
    ( f
    = ( ^ [X7: b] :
          ( if @ b
          @ ( ( image @ b @ b @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) @ ( insert @ b @ X7 @ ( bot_bot @ ( set @ b ) ) ) )
            = ( bot_bot @ ( set @ b ) ) )
          @ X7
          @ ( hilbert_Eps @ b @ ( p @ X7 ) ) ) ) ) ).

% \<open>f \<equiv> \<lambda>x. if getRel S_Idt G `` {x} = {} then x else Eps (P x)\<close>
thf(fact_113_agree__on__refl,axiom,
    ! [A: $tType,C: $tType,B: $tType,R2: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] : ( agree_on @ A @ B @ C @ R2 @ F @ F ) ).

% agree_on_refl
thf(fact_114_agree__on__comm,axiom,
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( agree_on @ A @ B @ C )
      = ( ^ [X8: labeled_graph @ A @ B,F5: set @ ( product_prod @ B @ C ),G7: set @ ( product_prod @ B @ C )] : ( agree_on @ A @ B @ C @ X8 @ G7 @ F5 ) ) ) ).

% agree_on_comm
thf(fact_115_ImageI,axiom,
    ! [B: $tType,A: $tType,A3: A,B3: B,R: set @ ( product_prod @ A @ B ),A2: set @ A] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ R )
     => ( ( member @ A @ A3 @ A2 )
       => ( member @ B @ B3 @ ( image @ A @ B @ R @ A2 ) ) ) ) ).

% ImageI
thf(fact_116_Image__empty2,axiom,
    ! [B: $tType,A: $tType,R2: set @ ( product_prod @ B @ A )] :
      ( ( image @ B @ A @ R2 @ ( bot_bot @ ( set @ B ) ) )
      = ( bot_bot @ ( set @ A ) ) ) ).

% Image_empty2
thf(fact_117_Image__empty1,axiom,
    ! [B: $tType,A: $tType,X5: set @ B] :
      ( ( image @ B @ A @ ( bot_bot @ ( set @ ( product_prod @ B @ A ) ) ) @ X5 )
      = ( bot_bot @ ( set @ A ) ) ) ).

% Image_empty1
thf(fact_118_Id__on__empty,axiom,
    ! [A: $tType] :
      ( ( id_on @ A @ ( bot_bot @ ( set @ A ) ) )
      = ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) ) ).

% Id_on_empty
thf(fact_119_Gr__empty,axiom,
    ! [B: $tType,A: $tType,F: A > B] :
      ( ( bNF_Gr @ A @ B @ ( bot_bot @ ( set @ A ) ) @ F )
      = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).

% Gr_empty
thf(fact_120_graph__homomorphism__composes,axiom,
    ! [A: $tType,B: $tType,D: $tType,C: $tType,A3: labeled_graph @ A @ B,B3: labeled_graph @ A @ C,X3: set @ ( product_prod @ B @ C ),C2: labeled_graph @ A @ D,Y3: set @ ( product_prod @ C @ D )] :
      ( ( graph_homomorphism @ A @ B @ C @ A3 @ B3 @ X3 )
     => ( ( graph_homomorphism @ A @ C @ D @ B3 @ C2 @ Y3 )
       => ( graph_homomorphism @ A @ B @ D @ A3 @ C2 @ ( relcomp @ B @ C @ D @ X3 @ Y3 ) ) ) ) ).

% graph_homomorphism_composes
thf(fact_121_P__eq,axiom,
    ! [X2: b] :
      ( ( ( image @ b @ b @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) @ ( insert @ b @ X2 @ ( bot_bot @ ( set @ b ) ) ) )
       != ( bot_bot @ ( set @ b ) ) )
     => ( ( hilbert_Eps @ b @ ( p @ ( hilbert_Eps @ b @ ( p @ X2 ) ) ) )
        = ( hilbert_Eps @ b @ ( p @ X2 ) ) ) ) ).

% P_eq
thf(fact_122_Gr__insert,axiom,
    ! [B: $tType,A: $tType,X3: A,F2: set @ A,F: A > B] :
      ( ( bNF_Gr @ A @ B @ ( insert @ A @ X3 @ F2 ) @ F )
      = ( insert @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ ( F @ X3 ) ) @ ( bNF_Gr @ A @ B @ F2 @ F ) ) ) ).

% Gr_insert
thf(fact_123_map__graph__selectors_I1_J,axiom,
    ! [A: $tType,C: $tType,B: $tType,F: set @ ( product_prod @ C @ A ),G: labeled_graph @ B @ C] :
      ( ( labeled_vertices @ B @ A @ ( map_graph @ C @ A @ B @ F @ G ) )
      = ( image @ C @ A @ F @ ( labeled_vertices @ B @ C @ G ) ) ) ).

% map_graph_selectors(1)
thf(fact_124_agree__on__empty,axiom,
    ! [A: $tType,C: $tType,B: $tType,F: set @ ( product_prod @ B @ C ),G2: set @ ( product_prod @ B @ C )] : ( agree_on @ A @ B @ C @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ ( bot_bot @ ( set @ B ) ) ) @ F @ G2 ) ).

% agree_on_empty
thf(fact_125_Image__singleton__iff,axiom,
    ! [A: $tType,B: $tType,B3: A,R: set @ ( product_prod @ B @ A ),A3: B] :
      ( ( member @ A @ B3 @ ( image @ B @ A @ R @ ( insert @ B @ A3 @ ( bot_bot @ ( set @ B ) ) ) ) )
      = ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ A3 @ B3 ) @ R ) ) ).

% Image_singleton_iff
thf(fact_126_in__on__graph,axiom,
    ! [A: $tType,B: $tType,D: $tType,C: $tType,X3: A,G: labeled_graph @ B @ A,A3: A > C,Y3: D,B3: set @ ( product_prod @ C @ D )] :
      ( ( member @ A @ X3 @ ( labeled_vertices @ B @ A @ G ) )
     => ( ( member @ ( product_prod @ C @ D ) @ ( product_Pair @ C @ D @ ( A3 @ X3 ) @ Y3 ) @ B3 )
       => ( member @ ( product_prod @ A @ D ) @ ( product_Pair @ A @ D @ X3 @ Y3 ) @ ( relcomp @ A @ C @ D @ ( bNF_Gr @ A @ C @ ( labeled_vertices @ B @ A @ G ) @ A3 ) @ B3 ) ) ) ) ).

% in_on_graph
thf(fact_127_graph__homomorphism__empty,axiom,
    ! [B: $tType,C: $tType,A: $tType,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ C @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ ( bot_bot @ ( set @ B ) ) ) @ G @ F )
      = ( ( F
          = ( bot_bot @ ( set @ ( product_prod @ B @ C ) ) ) )
        & ( G
          = ( restrict @ A @ C @ G ) ) ) ) ).

% graph_homomorphism_empty
thf(fact_128_graph__unionI,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ B @ G_2 ) )
     => ( ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) )
       => ( ( graph_union @ A @ B @ G_1 @ G_2 )
          = G_2 ) ) ) ).

% graph_unionI
thf(fact_129_graph__single,axiom,
    ! [A: $tType,B: $tType,A3: A,B3: B,C2: B] :
      ( ( labeled_LG @ A @ B @ ( insert @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ A3 @ ( product_Pair @ B @ B @ B3 @ C2 ) ) @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) ) @ ( insert @ B @ B3 @ ( insert @ B @ C2 @ ( bot_bot @ ( set @ B ) ) ) ) )
      = ( restrict @ A @ B @ ( labeled_LG @ A @ B @ ( insert @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ A3 @ ( product_Pair @ B @ B @ B3 @ C2 ) ) @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) ) @ ( insert @ B @ B3 @ ( insert @ B @ C2 @ ( bot_bot @ ( set @ B ) ) ) ) ) ) ) ).

% graph_single
thf(fact_130_r2,axiom,
    ! [X3: b] :
      ( ( ( image @ b @ b @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) @ ( insert @ b @ X3 @ ( bot_bot @ ( set @ b ) ) ) )
        = ( bot_bot @ ( set @ b ) ) )
      = ( ~ ( member @ b @ X3 @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) ) ) ) ).

% r2
thf(fact_131_refl__on__singleton,axiom,
    ! [A: $tType,X3: A] : ( refl_on @ A @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) @ ( insert @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ X3 ) @ ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) ) ) ).

% refl_on_singleton
thf(fact_132_rev__ImageI,axiom,
    ! [B: $tType,A: $tType,A3: A,A2: set @ A,B3: B,R: set @ ( product_prod @ A @ B )] :
      ( ( member @ A @ A3 @ A2 )
     => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ R )
       => ( member @ B @ B3 @ ( image @ A @ B @ R @ A2 ) ) ) ) ).

% rev_ImageI
thf(fact_133_Image__iff,axiom,
    ! [A: $tType,B: $tType,B3: A,R: set @ ( product_prod @ B @ A ),A2: set @ B] :
      ( ( member @ A @ B3 @ ( image @ B @ A @ R @ A2 ) )
      = ( ? [X7: B] :
            ( ( member @ B @ X7 @ A2 )
            & ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X7 @ B3 ) @ R ) ) ) ) ).

% Image_iff
thf(fact_134_ImageE,axiom,
    ! [A: $tType,B: $tType,B3: A,R: set @ ( product_prod @ B @ A ),A2: set @ B] :
      ( ( member @ A @ B3 @ ( image @ B @ A @ R @ A2 ) )
     => ~ ! [X6: B] :
            ( ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X6 @ B3 ) @ R )
           => ~ ( member @ B @ X6 @ A2 ) ) ) ).

% ImageE
thf(fact_135_relcomp_OrelcompI,axiom,
    ! [A: $tType,C: $tType,B: $tType,A3: A,B3: B,R: set @ ( product_prod @ A @ B ),C2: C,S3: set @ ( product_prod @ B @ C )] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ R )
     => ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B3 @ C2 ) @ S3 )
       => ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A3 @ C2 ) @ ( relcomp @ A @ B @ C @ R @ S3 ) ) ) ) ).

% relcomp.relcompI
thf(fact_136_relcomp_Oinducts,axiom,
    ! [B: $tType,A: $tType,C: $tType,X1: A,X22: C,R: set @ ( product_prod @ A @ B ),S3: set @ ( product_prod @ B @ C ),P: A > C > $o] :
      ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ X1 @ X22 ) @ ( relcomp @ A @ B @ C @ R @ S3 ) )
     => ( ! [A5: A,B5: B,C3: C] :
            ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A5 @ B5 ) @ R )
           => ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B5 @ C3 ) @ S3 )
             => ( P @ A5 @ C3 ) ) )
       => ( P @ X1 @ X22 ) ) ) ).

% relcomp.inducts
thf(fact_137_relcomp_Osimps,axiom,
    ! [B: $tType,C: $tType,A: $tType,A1: A,A22: C,R: set @ ( product_prod @ A @ B ),S3: set @ ( product_prod @ B @ C )] :
      ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A1 @ A22 ) @ ( relcomp @ A @ B @ C @ R @ S3 ) )
      = ( ? [A6: A,B6: B,C6: C] :
            ( ( A1 = A6 )
            & ( A22 = C6 )
            & ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A6 @ B6 ) @ R )
            & ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B6 @ C6 ) @ S3 ) ) ) ) ).

% relcomp.simps
thf(fact_138_relcomp_Ocases,axiom,
    ! [A: $tType,C: $tType,B: $tType,A1: A,A22: C,R: set @ ( product_prod @ A @ B ),S3: set @ ( product_prod @ B @ C )] :
      ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A1 @ A22 ) @ ( relcomp @ A @ B @ C @ R @ S3 ) )
     => ~ ! [B5: B] :
            ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A1 @ B5 ) @ R )
           => ~ ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B5 @ A22 ) @ S3 ) ) ) ).

% relcomp.cases
thf(fact_139_relcompEpair,axiom,
    ! [A: $tType,B: $tType,C: $tType,A3: A,C2: B,R: set @ ( product_prod @ A @ C ),S3: set @ ( product_prod @ C @ B )] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ C2 ) @ ( relcomp @ A @ C @ B @ R @ S3 ) )
     => ~ ! [B5: C] :
            ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A3 @ B5 ) @ R )
           => ~ ( member @ ( product_prod @ C @ B ) @ ( product_Pair @ C @ B @ B5 @ C2 ) @ S3 ) ) ) ).

% relcompEpair
thf(fact_140_relcompE,axiom,
    ! [A: $tType,B: $tType,C: $tType,Xz: product_prod @ A @ B,R: set @ ( product_prod @ A @ C ),S3: set @ ( product_prod @ C @ B )] :
      ( ( member @ ( product_prod @ A @ B ) @ Xz @ ( relcomp @ A @ C @ B @ R @ S3 ) )
     => ~ ! [X6: A,Y5: C,Z2: B] :
            ( ( Xz
              = ( product_Pair @ A @ B @ X6 @ Z2 ) )
           => ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ X6 @ Y5 ) @ R )
             => ~ ( member @ ( product_prod @ C @ B ) @ ( product_Pair @ C @ B @ Y5 @ Z2 ) @ S3 ) ) ) ) ).

% relcompE
thf(fact_141_relcomp__Image,axiom,
    ! [A: $tType,C: $tType,B: $tType,X5: set @ ( product_prod @ B @ C ),Y4: set @ ( product_prod @ C @ A ),Z3: set @ B] :
      ( ( image @ B @ A @ ( relcomp @ B @ C @ A @ X5 @ Y4 ) @ Z3 )
      = ( image @ C @ A @ Y4 @ ( image @ B @ C @ X5 @ Z3 ) ) ) ).

% relcomp_Image
thf(fact_142_relcomp__mono,axiom,
    ! [A: $tType,C: $tType,B: $tType,R3: set @ ( product_prod @ A @ B ),R: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ B @ C ),S3: set @ ( product_prod @ B @ C )] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R3 @ R )
     => ( ( ord_less_eq @ ( set @ ( product_prod @ B @ C ) ) @ S4 @ S3 )
       => ( ord_less_eq @ ( set @ ( product_prod @ A @ C ) ) @ ( relcomp @ A @ B @ C @ R3 @ S4 ) @ ( relcomp @ A @ B @ C @ R @ S3 ) ) ) ) ).

% relcomp_mono
thf(fact_143_Image__mono,axiom,
    ! [B: $tType,A: $tType,R3: set @ ( product_prod @ A @ B ),R: set @ ( product_prod @ A @ B ),A7: set @ A,A2: set @ A] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R3 @ R )
     => ( ( ord_less_eq @ ( set @ A ) @ A7 @ A2 )
       => ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ R3 @ A7 ) @ ( image @ A @ B @ R @ A2 ) ) ) ) ).

% Image_mono
thf(fact_144_O__assoc,axiom,
    ! [A: $tType,D: $tType,B: $tType,C: $tType,R2: set @ ( product_prod @ A @ D ),S: set @ ( product_prod @ D @ C ),T4: set @ ( product_prod @ C @ B )] :
      ( ( relcomp @ A @ C @ B @ ( relcomp @ A @ D @ C @ R2 @ S ) @ T4 )
      = ( relcomp @ A @ D @ B @ R2 @ ( relcomp @ D @ C @ B @ S @ T4 ) ) ) ).

% O_assoc
thf(fact_145_agree__on__def,axiom,
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( agree_on @ A @ B @ C )
      = ( ^ [G6: labeled_graph @ A @ B,F_1: set @ ( product_prod @ B @ C ),F_2: set @ ( product_prod @ B @ C )] :
          ! [X7: B] :
            ( ( member @ B @ X7 @ ( labeled_vertices @ A @ B @ G6 ) )
           => ( ( image @ B @ C @ F_1 @ ( insert @ B @ X7 @ ( bot_bot @ ( set @ B ) ) ) )
              = ( image @ B @ C @ F_2 @ ( insert @ B @ X7 @ ( bot_bot @ ( set @ B ) ) ) ) ) ) ) ) ).

% agree_on_def
thf(fact_146_edge__preserving__subset,axiom,
    ! [A: $tType,B: $tType,C: $tType,R_1: set @ ( product_prod @ A @ B ),R_2: set @ ( product_prod @ A @ B ),E_12: set @ ( product_prod @ C @ ( product_prod @ A @ A ) ),E_22: set @ ( product_prod @ C @ ( product_prod @ A @ A ) ),G: set @ ( product_prod @ C @ ( product_prod @ B @ B ) )] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R_1 @ R_2 )
     => ( ( ord_less_eq @ ( set @ ( product_prod @ C @ ( product_prod @ A @ A ) ) ) @ E_12 @ E_22 )
       => ( ( edge_preserving @ A @ B @ C @ R_2 @ E_22 @ G )
         => ( edge_preserving @ A @ B @ C @ R_1 @ E_12 @ G ) ) ) ) ).

% edge_preserving_subset
thf(fact_147_agree__on__trans,axiom,
    ! [A: $tType,C: $tType,B: $tType,X5: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C ),G2: set @ ( product_prod @ B @ C ),H: set @ ( product_prod @ B @ C )] :
      ( ( agree_on @ A @ B @ C @ X5 @ F @ G2 )
     => ( ( agree_on @ A @ B @ C @ X5 @ G2 @ H )
       => ( agree_on @ A @ B @ C @ X5 @ F @ H ) ) ) ).

% agree_on_trans
thf(fact_148_agree__on__ext,axiom,
    ! [A: $tType,B: $tType,D: $tType,C: $tType,G: labeled_graph @ A @ B,F_12: set @ ( product_prod @ B @ C ),F_22: set @ ( product_prod @ B @ C ),G2: set @ ( product_prod @ C @ D )] :
      ( ( agree_on @ A @ B @ C @ G @ F_12 @ F_22 )
     => ( agree_on @ A @ B @ D @ G @ ( relcomp @ B @ C @ D @ F_12 @ G2 ) @ ( relcomp @ B @ C @ D @ F_22 @ G2 ) ) ) ).

% agree_on_ext
thf(fact_149_refl__on__empty,axiom,
    ! [A: $tType] : ( refl_on @ A @ ( bot_bot @ ( set @ A ) ) @ ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) ) ).

% refl_on_empty
thf(fact_150_subrelI,axiom,
    ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S3: set @ ( product_prod @ A @ B )] :
      ( ! [X6: A,Y5: B] :
          ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X6 @ Y5 ) @ R )
         => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X6 @ Y5 ) @ S3 ) )
     => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S3 ) ) ).

% subrelI
thf(fact_151_compose__preserves__edge__preserving,axiom,
    ! [A: $tType,B: $tType,D: $tType,C: $tType,H1: set @ ( product_prod @ A @ B ),E1: set @ ( product_prod @ C @ ( product_prod @ A @ A ) ),E2: set @ ( product_prod @ C @ ( product_prod @ B @ B ) ),H2: set @ ( product_prod @ B @ D ),E32: set @ ( product_prod @ C @ ( product_prod @ D @ D ) )] :
      ( ( edge_preserving @ A @ B @ C @ H1 @ E1 @ E2 )
     => ( ( edge_preserving @ B @ D @ C @ H2 @ E2 @ E32 )
       => ( edge_preserving @ A @ D @ C @ ( relcomp @ A @ B @ D @ H1 @ H2 ) @ E1 @ E32 ) ) ) ).

% compose_preserves_edge_preserving
thf(fact_152_graph__union__iff,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( ( graph_union @ A @ B @ G_1 @ G_2 )
        = G_2 )
      = ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ B @ G_2 ) )
        & ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) ) ) ) ).

% graph_union_iff
thf(fact_153_restrict__subsD,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G ) @ ( labeled_edges @ A @ B @ ( restrict @ A @ B @ G ) ) )
     => ( G
        = ( restrict @ A @ B @ G ) ) ) ).

% restrict_subsD
thf(fact_154_subgraph__def2,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( G_1
        = ( restrict @ A @ B @ G_1 ) )
     => ( ( G_2
          = ( restrict @ A @ B @ G_2 ) )
       => ( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
          = ( ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) )
            & ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ B @ G_2 ) ) ) ) ) ) ).

% subgraph_def2
thf(fact_155_subgraph__subset_I1_J,axiom,
    ! [B: $tType,A: $tType,G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G_1 @ G_2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_1 ) ) )
     => ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_1 ) @ ( labeled_vertices @ A @ B @ G_2 ) ) ) ).

% subgraph_subset(1)
thf(fact_156_maintainedD2,axiom,
    ! [A: $tType,C: $tType,B: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C )] :
      ( ( maintained @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ A2 @ B2 ) @ G )
     => ( ( graph_homomorphism @ A @ B @ C @ A2 @ G @ F )
       => ~ ! [G5: set @ ( product_prod @ B @ C )] :
              ( ( graph_homomorphism @ A @ B @ C @ B2 @ G @ G5 )
             => ~ ( ord_less_eq @ ( set @ ( product_prod @ B @ C ) ) @ F @ G5 ) ) ) ) ).

% maintainedD2
thf(fact_157_Id__on__vertices__identity_I2_J,axiom,
    ! [B: $tType,C: $tType,A: $tType,A3: labeled_graph @ A @ B,B3: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C ),Aa: B,Ba: C] :
      ( ( graph_homomorphism @ A @ B @ C @ A3 @ B3 @ F )
     => ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa @ Ba ) @ F )
       => ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa @ Ba ) @ ( relcomp @ B @ C @ C @ F @ ( id_on @ C @ ( labeled_vertices @ A @ C @ B3 ) ) ) ) ) ) ).

% Id_on_vertices_identity(2)
thf(fact_158_Id__on__vertices__identity_I1_J,axiom,
    ! [A: $tType,C: $tType,B: $tType,A3: labeled_graph @ A @ B,B3: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C ),Aa: B,Ba: C] :
      ( ( graph_homomorphism @ A @ B @ C @ A3 @ B3 @ F )
     => ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa @ Ba ) @ F )
       => ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ Aa @ Ba ) @ ( relcomp @ B @ B @ C @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A3 ) ) @ F ) ) ) ) ).

% Id_on_vertices_identity(1)
thf(fact_159_graph__homomorphism__on__graph,axiom,
    ! [B: $tType,A: $tType,D: $tType,C: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ C,R2: set @ ( product_prod @ B @ C ),F: C > D] :
      ( ( graph_homomorphism @ A @ B @ C @ A2 @ B2 @ R2 )
     => ( graph_homomorphism @ A @ B @ D @ A2 @ ( map_graph @ C @ D @ A @ ( bNF_Gr @ C @ D @ ( labeled_vertices @ A @ C @ B2 ) @ F ) @ B2 ) @ ( relcomp @ B @ C @ D @ R2 @ ( bNF_Gr @ C @ D @ ( labeled_vertices @ A @ C @ B2 ) @ F ) ) ) ) ).

% graph_homomorphism_on_graph
thf(fact_160_agree__on__subg__compose,axiom,
    ! [A: $tType,C: $tType,B: $tType,R2: labeled_graph @ A @ B,G2: set @ ( product_prod @ B @ C ),H: set @ ( product_prod @ B @ C ),F2: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] :
      ( ( agree_on @ A @ B @ C @ R2 @ G2 @ H )
     => ( ( agree_on @ A @ B @ C @ F2 @ F @ G2 )
       => ( ( graph_homomorphism @ A @ B @ B @ F2 @ R2 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ F2 ) ) )
         => ( agree_on @ A @ B @ C @ F2 @ F @ H ) ) ) ) ).

% agree_on_subg_compose
thf(fact_161_singleton__insert__inj__eq,axiom,
    ! [A: $tType,B3: A,A3: A,A2: set @ A] :
      ( ( ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) )
        = ( insert @ A @ A3 @ A2 ) )
      = ( ( A3 = B3 )
        & ( ord_less_eq @ ( set @ A ) @ A2 @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).

% singleton_insert_inj_eq
thf(fact_162_singleton__insert__inj__eq_H,axiom,
    ! [A: $tType,A3: A,A2: set @ A,B3: A] :
      ( ( ( insert @ A @ A3 @ A2 )
        = ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) )
      = ( ( A3 = B3 )
        & ( ord_less_eq @ ( set @ A ) @ A2 @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).

% singleton_insert_inj_eq'
thf(fact_163_equiv__class__subset,axiom,
    ! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),A3: A,B3: A] :
      ( ( equiv_equiv @ A @ A2 @ R )
     => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R )
       => ( ord_less_eq @ ( set @ A ) @ ( image @ A @ A @ R @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) @ ( image @ A @ A @ R @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ) ).

% equiv_class_subset
thf(fact_164_subset__equiv__class,axiom,
    ! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),B3: A,A3: A] :
      ( ( equiv_equiv @ A @ A2 @ R )
     => ( ( ord_less_eq @ ( set @ A ) @ ( image @ A @ A @ R @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) ) @ ( image @ A @ A @ R @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) )
       => ( ( member @ A @ B3 @ A2 )
         => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R ) ) ) ) ).

% subset_equiv_class
thf(fact_165_refines__equiv__class__eq2,axiom,
    ! [A: $tType,R2: set @ ( product_prod @ A @ A ),S: set @ ( product_prod @ A @ A ),A2: set @ A,A3: A] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ R2 @ S )
     => ( ( equiv_equiv @ A @ A2 @ R2 )
       => ( ( equiv_equiv @ A @ A2 @ S )
         => ( ( image @ A @ A @ S @ ( image @ A @ A @ R2 @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) )
            = ( image @ A @ A @ S @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ) ) ).

% refines_equiv_class_eq2
thf(fact_166_empty__Collect__eq,axiom,
    ! [A: $tType,P: A > $o] :
      ( ( ( bot_bot @ ( set @ A ) )
        = ( collect @ A @ P ) )
      = ( ! [X7: A] :
            ~ ( P @ X7 ) ) ) ).

% empty_Collect_eq
thf(fact_167_Collect__empty__eq,axiom,
    ! [A: $tType,P: A > $o] :
      ( ( ( collect @ A @ P )
        = ( bot_bot @ ( set @ A ) ) )
      = ( ! [X7: A] :
            ~ ( P @ X7 ) ) ) ).

% Collect_empty_eq
thf(fact_168_all__not__in__conv,axiom,
    ! [A: $tType,A2: set @ A] :
      ( ( ! [X7: A] :
            ~ ( member @ A @ X7 @ A2 ) )
      = ( A2
        = ( bot_bot @ ( set @ A ) ) ) ) ).

% all_not_in_conv
thf(fact_169_empty__iff,axiom,
    ! [A: $tType,C2: A] :
      ~ ( member @ A @ C2 @ ( bot_bot @ ( set @ A ) ) ) ).

% empty_iff
thf(fact_170_subset__antisym,axiom,
    ! [A: $tType,A2: set @ A,B2: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A2 @ B2 )
     => ( ( ord_less_eq @ ( set @ A ) @ B2 @ A2 )
       => ( A2 = B2 ) ) ) ).

% subset_antisym
thf(fact_171_subsetI,axiom,
    ! [A: $tType,A2: set @ A,B2: set @ A] :
      ( ! [X6: A] :
          ( ( member @ A @ X6 @ A2 )
         => ( member @ A @ X6 @ B2 ) )
     => ( ord_less_eq @ ( set @ A ) @ A2 @ B2 ) ) ).

% subsetI
thf(fact_172_insert__absorb2,axiom,
    ! [A: $tType,X3: A,A2: set @ A] :
      ( ( insert @ A @ X3 @ ( insert @ A @ X3 @ A2 ) )
      = ( insert @ A @ X3 @ A2 ) ) ).

% insert_absorb2
thf(fact_173_insert__iff,axiom,
    ! [A: $tType,A3: A,B3: A,A2: set @ A] :
      ( ( member @ A @ A3 @ ( insert @ A @ B3 @ A2 ) )
      = ( ( A3 = B3 )
        | ( member @ A @ A3 @ A2 ) ) ) ).

% insert_iff
thf(fact_174_insertCI,axiom,
    ! [A: $tType,A3: A,B2: set @ A,B3: A] :
      ( ( ~ ( member @ A @ A3 @ B2 )
       => ( A3 = B3 ) )
     => ( member @ A @ A3 @ ( insert @ A @ B3 @ B2 ) ) ) ).

% insertCI
thf(fact_175_empty__subsetI,axiom,
    ! [A: $tType,A2: set @ A] : ( ord_less_eq @ ( set @ A ) @ ( bot_bot @ ( set @ A ) ) @ A2 ) ).

% empty_subsetI
thf(fact_176_subset__empty,axiom,
    ! [A: $tType,A2: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A2 @ ( bot_bot @ ( set @ A ) ) )
      = ( A2
        = ( bot_bot @ ( set @ A ) ) ) ) ).

% subset_empty
thf(fact_177_singletonI,axiom,
    ! [A: $tType,A3: A] : ( member @ A @ A3 @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ).

% singletonI
thf(fact_178_insert__subset,axiom,
    ! [A: $tType,X3: A,A2: set @ A,B2: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ ( insert @ A @ X3 @ A2 ) @ B2 )
      = ( ( member @ A @ X3 @ B2 )
        & ( ord_less_eq @ ( set @ A ) @ A2 @ B2 ) ) ) ).

% insert_subset
thf(fact_179_relcomp__empty1,axiom,
    ! [C: $tType,B: $tType,A: $tType,R2: set @ ( product_prod @ C @ B )] :
      ( ( relcomp @ A @ C @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ C ) ) ) @ R2 )
      = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).

% relcomp_empty1
thf(fact_180_relcomp__empty2,axiom,
    ! [C: $tType,B: $tType,A: $tType,R2: set @ ( product_prod @ A @ C )] :
      ( ( relcomp @ A @ C @ B @ R2 @ ( bot_bot @ ( set @ ( product_prod @ C @ B ) ) ) )
      = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).

% relcomp_empty2
thf(fact_181_graph__empty__e,axiom,
    ! [A: $tType,B: $tType,V2: set @ B] :
      ( ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ V2 )
      = ( restrict @ A @ B @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ V2 ) ) ) ).

% graph_empty_e
thf(fact_182_graph__homomorphism__nonempty,axiom,
    ! [B: $tType,A: $tType,C: $tType,A2: labeled_graph @ A @ B,B2: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C ),E4: allegorical_term @ A] :
      ( ( graph_homomorphism @ A @ B @ C @ A2 @ B2 @ F )
     => ( ( ( semantics @ A @ B @ A2 @ E4 )
         != ( bot_bot @ ( set @ ( product_prod @ B @ B ) ) ) )
       => ( ( semantics @ A @ C @ B2 @ E4 )
         != ( bot_bot @ ( set @ ( product_prod @ C @ C ) ) ) ) ) ) ).

% graph_homomorphism_nonempty
thf(fact_183_ex__in__conv,axiom,
    ! [A: $tType,A2: set @ A] :
      ( ( ? [X7: A] : ( member @ A @ X7 @ A2 ) )
      = ( A2
       != ( bot_bot @ ( set @ A ) ) ) ) ).

% ex_in_conv
thf(fact_184_equals0I,axiom,
    ! [A: $tType,A2: set @ A] :
      ( ! [Y5: A] :
          ~ ( member @ A @ Y5 @ A2 )
     => ( A2
        = ( bot_bot @ ( set @ A ) ) ) ) ).

% equals0I
thf(fact_185_equals0D,axiom,
    ! [A: $tType,A2: set @ A,A3: A] :
      ( ( A2
        = ( bot_bot @ ( set @ A ) ) )
     => ~ ( member @ A @ A3 @ A2 ) ) ).

% equals0D
thf(fact_186_emptyE,axiom,
    ! [A: $tType,A3: A] :
      ~ ( member @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ).

% emptyE
thf(fact_187_Collect__mono__iff,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) )
      = ( ! [X7: A] :
            ( ( P @ X7 )
           => ( Q @ X7 ) ) ) ) ).

% Collect_mono_iff
thf(fact_188_set__eq__subset,axiom,
    ! [A: $tType] :
      ( ( ^ [Y6: set @ A,Z4: set @ A] : Y6 = Z4 )
      = ( ^ [A8: set @ A,B7: set @ A] :
            ( ( ord_less_eq @ ( set @ A ) @ A8 @ B7 )
            & ( ord_less_eq @ ( set @ A ) @ B7 @ A8 ) ) ) ) ).

% set_eq_subset
thf(fact_189_subset__trans,axiom,
    ! [A: $tType,A2: set @ A,B2: set @ A,C7: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A2 @ B2 )
     => ( ( ord_less_eq @ ( set @ A ) @ B2 @ C7 )
       => ( ord_less_eq @ ( set @ A ) @ A2 @ C7 ) ) ) ).

% subset_trans
thf(fact_190_Collect__mono,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ! [X6: A] :
          ( ( P @ X6 )
         => ( Q @ X6 ) )
     => ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) ) ) ).

% Collect_mono
thf(fact_191_subset__refl,axiom,
    ! [A: $tType,A2: set @ A] : ( ord_less_eq @ ( set @ A ) @ A2 @ A2 ) ).

% subset_refl
thf(fact_192_subset__iff,axiom,
    ! [A: $tType] :
      ( ( ord_less_eq @ ( set @ A ) )
      = ( ^ [A8: set @ A,B7: set @ A] :
          ! [T3: A] :
            ( ( member @ A @ T3 @ A8 )
           => ( member @ A @ T3 @ B7 ) ) ) ) ).

% subset_iff
thf(fact_193_equalityD2,axiom,
    ! [A: $tType,A2: set @ A,B2: set @ A] :
      ( ( A2 = B2 )
     => ( ord_less_eq @ ( set @ A ) @ B2 @ A2 ) ) ).

% equalityD2
thf(fact_194_equalityD1,axiom,
    ! [A: $tType,A2: set @ A,B2: set @ A] :
      ( ( A2 = B2 )
     => ( ord_less_eq @ ( set @ A ) @ A2 @ B2 ) ) ).

% equalityD1
thf(fact_195_subset__eq,axiom,
    ! [A: $tType] :
      ( ( ord_less_eq @ ( set @ A ) )
      = ( ^ [A8: set @ A,B7: set @ A] :
          ! [X7: A] :
            ( ( member @ A @ X7 @ A8 )
           => ( member @ A @ X7 @ B7 ) ) ) ) ).

% subset_eq
thf(fact_196_equalityE,axiom,
    ! [A: $tType,A2: set @ A,B2: set @ A] :
      ( ( A2 = B2 )
     => ~ ( ( ord_less_eq @ ( set @ A ) @ A2 @ B2 )
         => ~ ( ord_less_eq @ ( set @ A ) @ B2 @ A2 ) ) ) ).

% equalityE
thf(fact_197_subsetD,axiom,
    ! [A: $tType,A2: set @ A,B2: set @ A,C2: A] :
      ( ( ord_less_eq @ ( set @ A ) @ A2 @ B2 )
     => ( ( member @ A @ C2 @ A2 )
       => ( member @ A @ C2 @ B2 ) ) ) ).

% subsetD
thf(fact_198_in__mono,axiom,
    ! [A: $tType,A2: set @ A,B2: set @ A,X3: A] :
      ( ( ord_less_eq @ ( set @ A ) @ A2 @ B2 )
     => ( ( member @ A @ X3 @ A2 )
       => ( member @ A @ X3 @ B2 ) ) ) ).

% in_mono
thf(fact_199_mk__disjoint__insert,axiom,
    ! [A: $tType,A3: A,A2: set @ A] :
      ( ( member @ A @ A3 @ A2 )
     => ? [B8: set @ A] :
          ( ( A2
            = ( insert @ A @ A3 @ B8 ) )
          & ~ ( member @ A @ A3 @ B8 ) ) ) ).

% mk_disjoint_insert
thf(fact_200_insert__commute,axiom,
    ! [A: $tType,X3: A,Y3: A,A2: set @ A] :
      ( ( insert @ A @ X3 @ ( insert @ A @ Y3 @ A2 ) )
      = ( insert @ A @ Y3 @ ( insert @ A @ X3 @ A2 ) ) ) ).

% insert_commute
thf(fact_201_insert__eq__iff,axiom,
    ! [A: $tType,A3: A,A2: set @ A,B3: A,B2: set @ A] :
      ( ~ ( member @ A @ A3 @ A2 )
     => ( ~ ( member @ A @ B3 @ B2 )
       => ( ( ( insert @ A @ A3 @ A2 )
            = ( insert @ A @ B3 @ B2 ) )
          = ( ( ( A3 = B3 )
             => ( A2 = B2 ) )
            & ( ( A3 != B3 )
             => ? [C5: set @ A] :
                  ( ( A2
                    = ( insert @ A @ B3 @ C5 ) )
                  & ~ ( member @ A @ B3 @ C5 )
                  & ( B2
                    = ( insert @ A @ A3 @ C5 ) )
                  & ~ ( member @ A @ A3 @ C5 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_202_insert__absorb,axiom,
    ! [A: $tType,A3: A,A2: set @ A] :
      ( ( member @ A @ A3 @ A2 )
     => ( ( insert @ A @ A3 @ A2 )
        = A2 ) ) ).

% insert_absorb
thf(fact_203_insert__ident,axiom,
    ! [A: $tType,X3: A,A2: set @ A,B2: set @ A] :
      ( ~ ( member @ A @ X3 @ A2 )
     => ( ~ ( member @ A @ X3 @ B2 )
       => ( ( ( insert @ A @ X3 @ A2 )
            = ( insert @ A @ X3 @ B2 ) )
          = ( A2 = B2 ) ) ) ) ).

% insert_ident
thf(fact_204_Set_Oset__insert,axiom,
    ! [A: $tType,X3: A,A2: set @ A] :
      ( ( member @ A @ X3 @ A2 )
     => ~ ! [B8: set @ A] :
            ( ( A2
              = ( insert @ A @ X3 @ B8 ) )
           => ( member @ A @ X3 @ B8 ) ) ) ).

% Set.set_insert
thf(fact_205_insertI2,axiom,
    ! [A: $tType,A3: A,B2: set @ A,B3: A] :
      ( ( member @ A @ A3 @ B2 )
     => ( member @ A @ A3 @ ( insert @ A @ B3 @ B2 ) ) ) ).

% insertI2
thf(fact_206_insertI1,axiom,
    ! [A: $tType,A3: A,B2: set @ A] : ( member @ A @ A3 @ ( insert @ A @ A3 @ B2 ) ) ).

% insertI1
thf(fact_207_insertE,axiom,
    ! [A: $tType,A3: A,B3: A,A2: set @ A] :
      ( ( member @ A @ A3 @ ( insert @ A @ B3 @ A2 ) )
     => ( ( A3 != B3 )
       => ( member @ A @ A3 @ A2 ) ) ) ).

% insertE
thf(fact_208_singleton__inject,axiom,
    ! [A: $tType,A3: A,B3: A] :
      ( ( ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) )
        = ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) )
     => ( A3 = B3 ) ) ).

% singleton_inject
thf(fact_209_insert__not__empty,axiom,
    ! [A: $tType,A3: A,A2: set @ A] :
      ( ( insert @ A @ A3 @ A2 )
     != ( bot_bot @ ( set @ A ) ) ) ).

% insert_not_empty
thf(fact_210_doubleton__eq__iff,axiom,
    ! [A: $tType,A3: A,B3: A,C2: A,D3: A] :
      ( ( ( insert @ A @ A3 @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) )
        = ( insert @ A @ C2 @ ( insert @ A @ D3 @ ( bot_bot @ ( set @ A ) ) ) ) )
      = ( ( ( A3 = C2 )
          & ( B3 = D3 ) )
        | ( ( A3 = D3 )
          & ( B3 = C2 ) ) ) ) ).

% doubleton_eq_iff
thf(fact_211_singleton__iff,axiom,
    ! [A: $tType,B3: A,A3: A] :
      ( ( member @ A @ B3 @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) )
      = ( B3 = A3 ) ) ).

% singleton_iff
thf(fact_212_singletonD,axiom,
    ! [A: $tType,B3: A,A3: A] :
      ( ( member @ A @ B3 @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) )
     => ( B3 = A3 ) ) ).

% singletonD
thf(fact_213_subset__insertI2,axiom,
    ! [A: $tType,A2: set @ A,B2: set @ A,B3: A] :
      ( ( ord_less_eq @ ( set @ A ) @ A2 @ B2 )
     => ( ord_less_eq @ ( set @ A ) @ A2 @ ( insert @ A @ B3 @ B2 ) ) ) ).

% subset_insertI2
thf(fact_214_subset__insertI,axiom,
    ! [A: $tType,B2: set @ A,A3: A] : ( ord_less_eq @ ( set @ A ) @ B2 @ ( insert @ A @ A3 @ B2 ) ) ).

% subset_insertI
thf(fact_215_subset__insert,axiom,
    ! [A: $tType,X3: A,A2: set @ A,B2: set @ A] :
      ( ~ ( member @ A @ X3 @ A2 )
     => ( ( ord_less_eq @ ( set @ A ) @ A2 @ ( insert @ A @ X3 @ B2 ) )
        = ( ord_less_eq @ ( set @ A ) @ A2 @ B2 ) ) ) ).

% subset_insert
thf(fact_216_insert__mono,axiom,
    ! [A: $tType,C7: set @ A,D4: set @ A,A3: A] :
      ( ( ord_less_eq @ ( set @ A ) @ C7 @ D4 )
     => ( ord_less_eq @ ( set @ A ) @ ( insert @ A @ A3 @ C7 ) @ ( insert @ A @ A3 @ D4 ) ) ) ).

% insert_mono
thf(fact_217_subset__singleton__iff,axiom,
    ! [A: $tType,X5: set @ A,A3: A] :
      ( ( ord_less_eq @ ( set @ A ) @ X5 @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) )
      = ( ( X5
          = ( bot_bot @ ( set @ A ) ) )
        | ( X5
          = ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).

% subset_singleton_iff
thf(fact_218_subset__singletonD,axiom,
    ! [A: $tType,A2: set @ A,X3: A] :
      ( ( ord_less_eq @ ( set @ A ) @ A2 @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) )
     => ( ( A2
          = ( bot_bot @ ( set @ A ) ) )
        | ( A2
          = ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).

% subset_singletonD
thf(fact_219_equiv__class__self,axiom,
    ! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),A3: A] :
      ( ( equiv_equiv @ A @ A2 @ R )
     => ( ( member @ A @ A3 @ A2 )
       => ( member @ A @ A3 @ ( image @ A @ A @ R @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ) ).

% equiv_class_self
thf(fact_220_equiv__class__eq__iff,axiom,
    ! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),X3: A,Y3: A] :
      ( ( equiv_equiv @ A @ A2 @ R )
     => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ R )
        = ( ( ( image @ A @ A @ R @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) )
            = ( image @ A @ A @ R @ ( insert @ A @ Y3 @ ( bot_bot @ ( set @ A ) ) ) ) )
          & ( member @ A @ X3 @ A2 )
          & ( member @ A @ Y3 @ A2 ) ) ) ) ).

% equiv_class_eq_iff
thf(fact_221_eq__equiv__class__iff,axiom,
    ! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),X3: A,Y3: A] :
      ( ( equiv_equiv @ A @ A2 @ R )
     => ( ( member @ A @ X3 @ A2 )
       => ( ( member @ A @ Y3 @ A2 )
         => ( ( ( image @ A @ A @ R @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) )
              = ( image @ A @ A @ R @ ( insert @ A @ Y3 @ ( bot_bot @ ( set @ A ) ) ) ) )
            = ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ R ) ) ) ) ) ).

% eq_equiv_class_iff
thf(fact_222_equiv__class__eq,axiom,
    ! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),A3: A,B3: A] :
      ( ( equiv_equiv @ A @ A2 @ R )
     => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R )
       => ( ( image @ A @ A @ R @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) )
          = ( image @ A @ A @ R @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ) ).

% equiv_class_eq
thf(fact_223_eq__equiv__class,axiom,
    ! [A: $tType,R: set @ ( product_prod @ A @ A ),A3: A,B3: A,A2: set @ A] :
      ( ( ( image @ A @ A @ R @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) )
        = ( image @ A @ A @ R @ ( insert @ A @ B3 @ ( bot_bot @ ( set @ A ) ) ) ) )
     => ( ( equiv_equiv @ A @ A2 @ R )
       => ( ( member @ A @ B3 @ A2 )
         => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ R ) ) ) ) ).

% eq_equiv_class
thf(fact_224_refines__equiv__class__eq,axiom,
    ! [A: $tType,R2: set @ ( product_prod @ A @ A ),S: set @ ( product_prod @ A @ A ),A2: set @ A,A3: A] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ R2 @ S )
     => ( ( equiv_equiv @ A @ A2 @ R2 )
       => ( ( equiv_equiv @ A @ A2 @ S )
         => ( ( image @ A @ A @ R2 @ ( image @ A @ A @ S @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) )
            = ( image @ A @ A @ S @ ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ) ) ).

% refines_equiv_class_eq
thf(fact_225_nonempty__rule,axiom,
    ! [A: $tType,B: $tType,G: labeled_graph @ A @ B] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( maintained @ A @ nat @ B @ ( standa244753842y_rule @ A ) @ G )
        = ( ( labeled_vertices @ A @ B @ G )
         != ( bot_bot @ ( set @ B ) ) ) ) ) ).

% nonempty_rule
thf(fact_226_ma,axiom,
    ! [X4: product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat )] :
      ( ( member @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) @ X4 @ ( insert @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) @ ( standa245363227y_rule @ ( standard_Constant @ a ) @ ( standard_S_Idt @ a ) ) @ ( insert @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) @ ( standa2114124375e_rule @ ( standard_Constant @ a ) @ ( standard_S_Idt @ a ) ) @ ( insert @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) @ ( standa1805702094y_rule @ ( standard_Constant @ a ) @ ( standard_S_Idt @ a ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) @ ( labeled_graph @ ( standard_Constant @ a ) @ nat ) ) ) ) ) ) ) )
     => ( maintained @ ( standard_Constant @ a ) @ nat @ b @ X4 @ g ) ) ).

% ma
thf(fact_227_proj__iff,axiom,
    ! [A: $tType,A2: set @ A,R: set @ ( product_prod @ A @ A ),X3: A,Y3: A] :
      ( ( equiv_equiv @ A @ A2 @ R )
     => ( ( ord_less_eq @ ( set @ A ) @ ( insert @ A @ X3 @ ( insert @ A @ Y3 @ ( bot_bot @ ( set @ A ) ) ) ) @ A2 )
       => ( ( ( equiv_proj @ A @ A @ R @ X3 )
            = ( equiv_proj @ A @ A @ R @ Y3 ) )
          = ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y3 ) @ R ) ) ) ) ).

% proj_iff
thf(fact_228_proj__def,axiom,
    ! [A: $tType,B: $tType] :
      ( ( equiv_proj @ B @ A )
      = ( ^ [R4: set @ ( product_prod @ B @ A ),X7: B] : ( image @ B @ A @ R4 @ ( insert @ B @ X7 @ ( bot_bot @ ( set @ B ) ) ) ) ) ) ).

% proj_def
thf(fact_229_equivalence,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B,I: A] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ! [X6: product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat )] :
            ( ( member @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ X6 @ ( insert @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ ( standa245363227y_rule @ A @ I ) @ ( insert @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ ( standa2114124375e_rule @ A @ I ) @ ( insert @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ ( standa1805702094y_rule @ A @ I ) @ ( bot_bot @ ( set @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) ) ) ) ) ) )
           => ( maintained @ A @ nat @ B @ X6 @ G ) )
       => ( equiv_equiv @ B @ ( labeled_vertices @ A @ B @ G ) @ ( getRel @ A @ B @ I @ G ) ) ) ) ).

% equivalence
thf(fact_230_f,axiom,
    ( f
    = ( ^ [X7: b] :
          ( if @ b
          @ ( ( image @ b @ b @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) @ ( insert @ b @ X7 @ ( bot_bot @ ( set @ b ) ) ) )
            = ( bot_bot @ ( set @ b ) ) )
          @ X7
          @ ( hilbert_Eps @ b @ ( p @ X7 ) ) ) ) ) ).

% f
thf(fact_231_the__elem__eq,axiom,
    ! [A: $tType,X3: A] :
      ( ( the_elem @ A @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) )
      = X3 ) ).

% the_elem_eq
thf(fact_232_tuple__disj,axiom,
    ! [A: $tType,X3: A,Z: A] :
      ( ( collect @ A
        @ ^ [Y7: A] :
            ( ( Y7 = X3 )
            | ( Y7 = Z ) ) )
      = ( insert @ A @ X3 @ ( insert @ A @ Z @ ( bot_bot @ ( set @ A ) ) ) ) ) ).

% tuple_disj
thf(fact_233_singleton__conv,axiom,
    ! [A: $tType,A3: A] :
      ( ( collect @ A
        @ ^ [X7: A] : X7 = A3 )
      = ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ).

% singleton_conv
thf(fact_234_singleton__conv2,axiom,
    ! [A: $tType,A3: A] :
      ( ( collect @ A
        @ ( ^ [Y6: A,Z4: A] : Y6 = Z4
          @ A3 ) )
      = ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) ).

% singleton_conv2
thf(fact_235_P,axiom,
    ( p
    = ( ^ [X7: b,Y7: b] : ( member @ b @ Y7 @ ( image @ b @ b @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g ) @ ( insert @ b @ X7 @ ( bot_bot @ ( set @ b ) ) ) ) ) ) ) ).

% P
thf(fact_236_empty__def,axiom,
    ! [A: $tType] :
      ( ( bot_bot @ ( set @ A ) )
      = ( collect @ A
        @ ^ [X7: A] : $false ) ) ).

% empty_def
thf(fact_237_insert__compr,axiom,
    ! [A: $tType] :
      ( ( insert @ A )
      = ( ^ [A6: A,B7: set @ A] :
            ( collect @ A
            @ ^ [X7: A] :
                ( ( X7 = A6 )
                | ( member @ A @ X7 @ B7 ) ) ) ) ) ).

% insert_compr
thf(fact_238_insert__Collect,axiom,
    ! [A: $tType,A3: A,P: A > $o] :
      ( ( insert @ A @ A3 @ ( collect @ A @ P ) )
      = ( collect @ A
        @ ^ [U2: A] :
            ( ( U2 != A3 )
           => ( P @ U2 ) ) ) ) ).

% insert_Collect
thf(fact_239_Collect__conv__if,axiom,
    ! [A: $tType,P: A > $o,A3: A] :
      ( ( ( P @ A3 )
       => ( ( collect @ A
            @ ^ [X7: A] :
                ( ( X7 = A3 )
                & ( P @ X7 ) ) )
          = ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) )
      & ( ~ ( P @ A3 )
       => ( ( collect @ A
            @ ^ [X7: A] :
                ( ( X7 = A3 )
                & ( P @ X7 ) ) )
          = ( bot_bot @ ( set @ A ) ) ) ) ) ).

% Collect_conv_if
thf(fact_240_Collect__conv__if2,axiom,
    ! [A: $tType,P: A > $o,A3: A] :
      ( ( ( P @ A3 )
       => ( ( collect @ A
            @ ^ [X7: A] :
                ( ( A3 = X7 )
                & ( P @ X7 ) ) )
          = ( insert @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ) )
      & ( ~ ( P @ A3 )
       => ( ( collect @ A
            @ ^ [X7: A] :
                ( ( A3 = X7 )
                & ( P @ X7 ) ) )
          = ( bot_bot @ ( set @ A ) ) ) ) ) ).

% Collect_conv_if2
thf(fact_241_Image__singleton,axiom,
    ! [B: $tType,A: $tType,R: set @ ( product_prod @ B @ A ),A3: B] :
      ( ( image @ B @ A @ R @ ( insert @ B @ A3 @ ( bot_bot @ ( set @ B ) ) ) )
      = ( collect @ A
        @ ^ [B6: A] : ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ A3 @ B6 ) @ R ) ) ) ).

% Image_singleton
thf(fact_242_edges__def,axiom,
    ! [V: $tType,L: $tType] :
      ( ( labeled_edges @ L @ V )
      = ( labele1974067554_graph @ L @ V @ ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) )
        @ ^ [X13: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X24: set @ V] : X13 ) ) ).

% edges_def
thf(fact_243_vertices__def,axiom,
    ! [V: $tType,L: $tType] :
      ( ( labeled_vertices @ L @ V )
      = ( labele1974067554_graph @ L @ V @ ( set @ V )
        @ ^ [X13: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X24: set @ V] : X24 ) ) ).

% vertices_def
thf(fact_244_labeled__graph_Ocase__distrib,axiom,
    ! [A: $tType,B: $tType,V: $tType,L: $tType,H: A > B,F: ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > A,Labeled_graph: labeled_graph @ L @ V] :
      ( ( H @ ( labele1974067554_graph @ L @ V @ A @ F @ Labeled_graph ) )
      = ( labele1974067554_graph @ L @ V @ B
        @ ^ [X13: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X24: set @ V] : ( H @ ( F @ X13 @ X24 ) )
        @ Labeled_graph ) ) ).

% labeled_graph.case_distrib
thf(fact_245_pred__equals__eq2,axiom,
    ! [B: $tType,A: $tType,R2: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
      ( ( ( ^ [X7: A,Y7: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X7 @ Y7 ) @ R2 ) )
        = ( ^ [X7: A,Y7: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X7 @ Y7 ) @ S ) ) )
      = ( R2 = S ) ) ).

% pred_equals_eq2
thf(fact_246_subset__CollectI,axiom,
    ! [A: $tType,B2: set @ A,A2: set @ A,Q: A > $o,P: A > $o] :
      ( ( ord_less_eq @ ( set @ A ) @ B2 @ A2 )
     => ( ! [X6: A] :
            ( ( member @ A @ X6 @ B2 )
           => ( ( Q @ X6 )
             => ( P @ X6 ) ) )
       => ( ord_less_eq @ ( set @ A )
          @ ( collect @ A
            @ ^ [X7: A] :
                ( ( member @ A @ X7 @ B2 )
                & ( Q @ X7 ) ) )
          @ ( collect @ A
            @ ^ [X7: A] :
                ( ( member @ A @ X7 @ A2 )
                & ( P @ X7 ) ) ) ) ) ) ).

% subset_CollectI
thf(fact_247_subset__Collect__iff,axiom,
    ! [A: $tType,B2: set @ A,A2: set @ A,P: A > $o] :
      ( ( ord_less_eq @ ( set @ A ) @ B2 @ A2 )
     => ( ( ord_less_eq @ ( set @ A ) @ B2
          @ ( collect @ A
            @ ^ [X7: A] :
                ( ( member @ A @ X7 @ A2 )
                & ( P @ X7 ) ) ) )
        = ( ! [X7: A] :
              ( ( member @ A @ X7 @ B2 )
             => ( P @ X7 ) ) ) ) ) ).

% subset_Collect_iff
thf(fact_248_Collect__subset,axiom,
    ! [A: $tType,A2: set @ A,P: A > $o] :
      ( ord_less_eq @ ( set @ A )
      @ ( collect @ A
        @ ^ [X7: A] :
            ( ( member @ A @ X7 @ A2 )
            & ( P @ X7 ) ) )
      @ A2 ) ).

% Collect_subset
thf(fact_249_congr_I1_J,axiom,
    ! [X2: b,Y: b,L2: standard_Constant @ a] :
      ( ( member @ ( product_prod @ b @ b ) @ ( product_Pair @ b @ b @ X2 @ Y ) @ ( getRel @ ( standard_Constant @ a ) @ b @ L2 @ g ) )
     => ( equiv_congruent @ b @ ( set @ b ) @ ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ g )
        @ ^ [V3: b] : ( image @ b @ b @ ( getRel @ ( standard_Constant @ a ) @ b @ L2 @ g ) @ ( insert @ b @ V3 @ ( bot_bot @ ( set @ b ) ) ) ) ) ) ).

% congr(1)
thf(fact_250_ident,axiom,
    ( ( getRel @ ( standard_Constant @ a ) @ b @ ( standard_S_Idt @ a ) @ ( map_graph @ b @ b @ ( standard_Constant @ a ) @ ( bNF_Gr @ b @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ f ) @ g ) )
    = ( image2 @ b @ ( product_prod @ b @ b )
      @ ^ [X7: b] : ( product_Pair @ b @ b @ X7 @ X7 )
      @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ ( map_graph @ b @ b @ ( standard_Constant @ a ) @ ( bNF_Gr @ b @ b @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) @ f ) @ g ) ) ) ) ).

% ident
thf(fact_251_image__empty,axiom,
    ! [B: $tType,A: $tType,F: B > A] :
      ( ( image2 @ B @ A @ F @ ( bot_bot @ ( set @ B ) ) )
      = ( bot_bot @ ( set @ A ) ) ) ).

% image_empty
thf(fact_252_empty__is__image,axiom,
    ! [A: $tType,B: $tType,F: B > A,A2: set @ B] :
      ( ( ( bot_bot @ ( set @ A ) )
        = ( image2 @ B @ A @ F @ A2 ) )
      = ( A2
        = ( bot_bot @ ( set @ B ) ) ) ) ).

% empty_is_image
thf(fact_253_image__is__empty,axiom,
    ! [A: $tType,B: $tType,F: B > A,A2: set @ B] :
      ( ( ( image2 @ B @ A @ F @ A2 )
        = ( bot_bot @ ( set @ A ) ) )
      = ( A2
        = ( bot_bot @ ( set @ B ) ) ) ) ).

% image_is_empty
thf(fact_254_image__insert,axiom,
    ! [A: $tType,B: $tType,F: B > A,A3: B,B2: set @ B] :
      ( ( image2 @ B @ A @ F @ ( insert @ B @ A3 @ B2 ) )
      = ( insert @ A @ ( F @ A3 ) @ ( image2 @ B @ A @ F @ B2 ) ) ) ).

% image_insert
thf(fact_255_insert__image,axiom,
    ! [B: $tType,A: $tType,X3: A,A2: set @ A,F: A > B] :
      ( ( member @ A @ X3 @ A2 )
     => ( ( insert @ B @ ( F @ X3 ) @ ( image2 @ A @ B @ F @ A2 ) )
        = ( image2 @ A @ B @ F @ A2 ) ) ) ).

% insert_image

% Helper facts (3)
thf(help_If_3_1_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_T,axiom,
    ! [A: $tType,X3: A,Y3: A] :
      ( ( if @ A @ $false @ X3 @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_T,axiom,
    ! [A: $tType,X3: A,Y3: A] :
      ( ( if @ A @ $true @ X3 @ Y3 )
      = X3 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    member @ b @ x @ ( labeled_vertices @ ( standard_Constant @ a ) @ b @ g ) ).

%------------------------------------------------------------------------------